1) Was B under any obligation to sail higher before the zone to create mark room for A.
2) Assuming the answer is no because the rule only applies inside the zone,
3) how would B decide what to do as they approach the mark unsure if there is room and or if there is room for B to sail higher?
Just to round out definitive answers to these:
1) No, never. As ROW boat (RSS 10) they can sail anywhere they want with respect to the port tacker as long as they give them room to keep clear (RSS 16).
2) No again, because RSS 18 only applies at the windward mark to boats on the same tack (RSS 18(a)). So RSS 10 again
3) No again
The REAL question is what should a port boat when approaching the windward mark?
Well first off, never plan to approach the windward mark inside the 3-boat length zone UNLESS you will be clear to tack and not interfere with the progress of a starboard boat. If you end up on port in the zone, if you cannot cleanly tack you MUST be able to drive through and tack to windward, where you will owe every boat near you mark room.
If you tack onto starboard BELOW the 3-BL zone, you at least have options. If there is room, you can tack right on a boats line, as long as you finish your tack (RRS13). Now you are clear ahead (RSS12) and have ROW. If there is not room to tack there, you will have two options:
1) Risky - tack to leeward of the line of boats, if you think they are slightly overstood, or are praying for a lift or enough momentum to carry you to the mark as inside boat (RRS18)
2) Safe - Take a transom through a small gap and tack to windward, and round outside the inner train of boats.
Sometimes there is no option but to duck an entire line of boats, and give up 10 places.
Also note, saying 'screw it' and diving in at the mark, fouling a boat and then thinking about doing your penalty turns to avoid the ten place drop is violation of (RRS44.1(b)) and your penalty is to retire.