Since your light is on a different circuit than the outlet, you'll need to run a switch loop from the light to the 2-gang box using 14/3 (yes 3) cable, with black as the hot, red as the switched hot, white as a spare neutral, and the bare or green wire as well, the ground (aka EGC) :)
In the light box, you'll take the black that currently goes to the fixture hot and connect it to the black of the switch loop instead; the fixture hot then gets wired to the red wire of the switch loop. The switch loop white and green wires get wired into the existing white and green wires coming into the box.
After transposing the existing GFCI from the old 1 gang box into the new 2 gang box, you'll want to leave it alone from here on out. To wire up the switch, you connect the brass screws to the black and red wires, the green screw to the EGC, and simply wirenut off (i.e. put a wirenut on the exposed end of) the neutral on the switch loop -- it's there for future use by say a motion sensor or lit switch as per 404.2(C) (neutrals are called 'grounded conductors' in the NEC, btw, if you're a Code newbie and scratching your head at this :):
C) Switches Controlling Lighting Loads. The grounded circuit conductor for
the controlled lighting circuit shall be provided at the location where
switches control lighting loads that are supplied by a grounded general-
purpose branch circuit for other than the following:
(4) Where a switch does not serve a habitable room or bathroom
Can't have a loose wire
"14/2" means a black, white and bare wire wrapped in a sheath. "14/3" is the same except it also has a red wire inside the sheath.
If the red wire is outside the sheath, loose or tacked on, then it cannot be used. At all. This is a totally improper wiring technique. Cap it with a wire-nut and tape, and push it into the back of the box. At the service panel end, just cut it - it is useless. Whoever installed it did very bad work, and all the other work in the house should be reviewed against Code.
I know what he was trying to do, but you can't do that - so no point getting into the gory details.
Pigtails are fine
It's fine if circuits are pig-tailed with wire nuts and short lengths of wire to the receptacle. That is a totally acceptable wiring method.
A workaround: put it all on a single circuit
The simplest thing is simply to wire everything onto a single circuit. It's not good, it would certainly not meet new-build or remodel standards, but it is better than he had it.
When possible, you should pull at least two more 12 AWG/20A circuits, preferably three, and spread the loads out among them. Then retire the 15A/14AWG circuit, or dedicate it to a single thing such as the refrigerator.
Two ways to GFCI
You can install a GFCI breaker inside the panel. That will protect everything on that circuit. You must use a 15A breaker because there is any 14 AWG wire in the circuit.
Or, you can install a GFCI receptacle there at the switch. You can decide which additional loads you would like to GFCI-protect by attaching them to the LOAD side of the GFCI. If you put a "hot" on the GFCI LOAD terminal, you must also put its companion "neutral" also. You may end up with 2 wire-nuts with 2 groups of neutrals: the unprotected and the protected. If a hot goes through the GFCI and a neutral does not (or vice versa), the GFCI will trip.
Best Answer
Simply replacing the first receptacle in the group with a GFCI receptacle, will provide protection to the entire group (if wired properly).
GFCI Receptacle
Locate the feeders
WARNING:
This procedure should only be carried out by persons with the proper tools and knowledge. And should be carried out with extreme caution.
When you open up the box containing the first receptacle in the group, you're going to notice two cables enter the box. One cable brings power from the breaker/fuse box (feeder), and the other carries power to the remainder of the circuit. You'll have to figure out which cable is which, so you know how to connect the GFCI receptacle.
WARNING:
If you got a voltage reading on more than one set of wires, STOP, do not follow the rest of these instructions. contact a local Electrician.
Connect the GFCI
On the GFCI receptacle you'll notice that one set of terminals is labeled "LINE", and the other is labeled "LOAD".
WARNING:
If the receptacle will not reset, the wiring is connected incorrectly, or contains a fault. Contact an Electrician to complete the job.
GFCI Breaker
Alternatively, you can install a GFCI breaker to protect the entire circuit.
WARNING:
This procedure should only be carried out by persons with the proper tools and knowledge. And should be carried out with extreme caution.
WARNING:
If the breaker will not reset, the wiring is connected incorrectly, or contains a fault. Contact an Electrician to complete the job.
Test the GFCI
Once the GFCI device is installed, it should be tested at least once a month to insure it's functioning properly.
If the GFCI will not reset, the GFCI is bad, the wiring is incorrect, or there is a fault. Correct any faults, and/or install a new GFCI device.