wow... I'm gonna need a drink before I sit down and answer this...
For starters, I think you've got the difference between program change and control change... program change is generally used to switch patches, and control change is generally used to adjust parameters within those patches. Sometime control change is an on/off toggle, other times it occurs over a continuous range (e.g., when you're using an expression pedal).
Add to that the concept of MIDI channels... each MIDI device can be programmed to respond only to messages sent on a specific MIDI channel, and generally MIDI foot controllers allow to to specify which channel(s) they send on.
Let's assume you assign your GCX to channel 1 and your G-Major to channel 2. You can now proceed to set up a bunch of programs on the ground control as follows:
1: channel 1 = program change #2, channel 2 = program change #4
2: channel 1 = program change #24, channel 2 = program change #56
So you can see, you can send separate program changes to each device. I believe the ground control allows you to program 8 different devices, sending different program change commands down each channel.
Hope this helps a bit.