You are correct that the first two options are allowed by Code (citing from the 2014 NEC here) -- the relevant passage is 210.11(C)(3) along with its Exception:
(3) Bathroom Branch Circuits. In addition to the number of branch circuits
required by other parts of this section, at least one 120-volt, 20-ampere
branch circuit shall be provided to supply a bathroom receptacle outlet(s).
Such circuits shall have no other outlets.
Exception: Where the 20-ampere circuit supplies a single bathroom, outlets for
other equipment within the same bathroom shall be permitted to be supplied in
accordance with 210.23(A)(1) and (A)(2).
However, this passage only applies to receptacles unless you take advantage of the terms of the exception; putting the bathroom light on a shared lighting circuit is Code-legal as long as the receptacles are on a dedicated circuit.
For the heaters, you can either put them on a per-bathroom circuit as long as they satisfy 210.23(A)(2) by not using up more than 50% of the circuit's ampacity:
(2) Utilization Equipment Fastened in Place. The total rating of
utilization equipment fastened in place, other than luminaires, shall not
exceed 50 percent of the branch-circuit ampere rating where lighting units,
cord-and-plug-connected utilization equipment not fastened in place, or
both, are also supplied.
or you can have them on a shared lighting circuit, if you decide to have a separate circuit for bathroom receptacles. Unfortunately, putting them on the same circuit as the bathroom receptacles when that circuit is shared between bathrooms is prohibited by the Exception to 210.23(A):
Exception: The small-appliance branch circuits, laundry branch circuits, and
bathroom branch circuits required in a dwelling unit(s) by 210.11(C)(1), (C)
(2), and (C)(3) shall supply only the receptacle outlets specified in that
section.
It does need to be protected there by the sink. It may very well be wired into the LOAD terminals of the other GFCI outlet. It is easy for you to check. Plug a lamp in by the sink and turn it ON. Then press the TEST button on the GFCI outlet. If the lamp goes OFF you know that the outlets are coupled.
Best Answer
Bathrooms frequently have high wattage appliances such has high-wattage hair dryers or space heaters. And just because YOU don't have one of these, you might eventually have a guest that brings their own.
Plan for success, and comply with the code. And make sure and get a good name brand GFCI, as there are Chinese knockoff's out there that are known to be bad. I was having problems with my GFCI's in a new home, and when I pilled one out chd looked up the UL listing code, I discovered that the UL number was fake, and my new home had a half dozen fake gfci's... replacing them with properly certified Leviton's solved my gfci issues...
Of course complying with the code could mean you have to run a new wire, if your existing wire isn't to code.
My rule of thumb is "things are in the code for /good/ reason, and electrical is one area never to skimp on..." If you skimp, you can cause a fire or death... Don't do it!
Sure, you may be grandfathered in, so what? the code is for safety, and many many lives are lost to grandfathered old wiring. Just having an old outlet can cause a fire. I'm a firm beliver of periodically replacing outlets that are subjected to heavy loads. A hair dryer, space heater, microwave, toaster, window unit, etc... All of these draw maximum current through the plug. As the plug ages resistance goes up. The resistance generates heat under max loads. That heat softend the metal contacts, so that they have less spring pressure, as well as more surface corrosion. With time the contacts can become bad enough to start getting hot, and eventually starting a fire in the wall, a fire that may take some time to notice until it is too late.
The bathroom outlets are among the ones most subject to current related wear, the next are in the kitchen, and everywhere you plug in the vacuum cleaner, or potentially a space heater. All of those outlets should be replaced every 10 years or so if they get routine use. The fact you have old wiring under an old code set is your first clue that your wiring is old enough to need upgrade/replacement for safety.