can you make onGUI calls from multiple gameObjects?

Do I need to make all the gui calls from one script?

It can give a very small fps boost on iPhone if you call your OnGUI methods from a single point, but it's probably worth spending time optimizing your algorithms instead, other more high level optimizations

You can have as many OnGUI functions on different MonoBehaviours as you want. But, as Mike said, there is a certain overhead involved with each OnGUI call, so it is generally not a good idea for performance to have hundreds of them.