This may be a dumb question, but in order to use RX/TX1, RX/TX2 and RX/TX3 on a mega board do I use the software serial library? I guess I get confused when people say the mega board has 3 extra sets of RX/TX pins, but as far as I can tell, I don't see any way to access those extra pins using the normal serial library or even anything to say whether the atmel chip treats those pins any differently than any other pins.

Is it possible to use serial1 instead of serial to load program? I would like to use one serial for xbee, other for usb and third for gps... But both serials ( serial and serial 1 ) should be for program loading into arduino mega.

You can't have anything plugged into Serial when uploading firmware, figured that out after trying to use a Sparkfun BlueSmirf serial adaptor to upload code wirelessly (would have been cool but it doesn't work).