How to decide which gene would be the center of the network?
I am not sure what you mean by this. Do you mean center of the layout ? Typically graphs are drawn with a layout algorithm that positions the nodes automatically and sometimes the result is subsequently manually adjusted. Only you can be judged of what makes more visual sense given your data and the question you're trying to answer.
How (or what statistical methods is used) to calculate size of nodes or each protein selected, distance between proteins?
You can make the size of the nodes proportional to any property of the nodes that is relevant to your project. Layout algorithms operate on the weights of the edges so that the distances between nodes give an indication of the differences in weights, i.e. some algorithms would position nodes linked with higher weights closer to each other.
What package is commonly used for visualization of the network if R is used?
I would recommend the igraph package. Have a look at the tkplot() function to manually adjust layouts.
Should the interactions between proteins be based on interaction database like KEGG?
It depends on what you mean by interaction. If you mean physical protein-protein interaction, I would recommend working with protein-protein interaction databases. Even better, combine several of them or use iRefIndex (although it's now two years old) to get more coverage.