Here are some references which may help. One of the best things I found for using G4 was following the slides and talks that go with various courses in using GEANT4. I hope this helps. Also, please see if your GEANT4 download includes the /examples directory. If it does not, then you can get those from http://geant4.cern.ch/ and it will help a great deal!
GEANT4 "hypernews" has lots of current material. You can register to post your own questions to this user group, and they probably already have your question answered:
Also please peruse the following for courses. They quite often post all of the slides and exercises for the benefit of everyone who did not get to go to the course:
http://geant4.cern.ch/pastevents.shtml
One of the IN2P3 courses is here, and with various other institutions as well
http://geant4.in2p3.fr/spip.php?rubrique6&lang=en
Of course the main web-page is also a resource: http://geant4.cern.ch/
SO this is where I say, I don't know how to answer your question without doing all of the above to find out. I use GEANT4 quite a bit, but I have not tried to do what you are doing yet.
you can set up two sources at most,for example a neutron sources and a proton source .Besides, you can set up a source with different energy,such as a neutron source that can emission neutron from 1Mev to 14MEv.
for more details you could read the user'sguaid and it can help you a lot
It is posible to define multiple GPS beams (see http://ecolephysique.sciencesconf.org/conference/ecolephysique/program/G4_LIO_w2_generator_physicslist.pdf slide 22) but is not allways necesary, you can run the same environment for each source but it will take longer.
see /gps/source/add documentation from within the Geant4UI if you are using any.
If you want to build an extended source, you can confine the General Particle Source to a certain volume allowing you to generate primaries from within that volume and take into account the interactions within the source volume.