Ok....... these are all just guesses (basically, I've never really messed around with anything on the XP-30 besides just playing it at Guitar Center)
Your "General" question:
Most synths are about the same, I mean... there's not that much difference in the data being sent. Zones, splits, layers and # of "outs" is usually what sets them apart... and being able to store settings on the board. I believe the XP-30's performance mode allows for all kinds of splits and layers... and you can save something like 32 performances. So... the XP-30 should work fine for controlling modules.
Your "Specific" question:
This should be easily done.... just set something (a button, a slider, a knob, a pedal) to the "program change" midi message... you'll probably need to buttons, pedals, etc though... one for up and one for down (You will not however be able to do complex operations, just scroll through patches or performance or.......) But this shouldn't be that big a deal, try to find someone on here who has experience with the XP-30 and they could probably tell you how to set this up.
And now your "dumb" question:
Play a module from the XP and the XP from an external keyboard?? Sounds do-able. Set midi channel X on the XP-30 to send (transmit) data but not receive it.... then set midi channel Y to receive data, but not send it. Turn local off for midi channel X and make sure it's on for channel Y. Midi out from XP-30 to module, midi out from external keyboard to midi in on XP-30, that should do it.
------------------
John 3:16 For God so loved the world, that He gave His only Son, that whoever believes in Him should not perish, but have everlasting life.