Take a look at the CRHoldExpansion quest in the Companions/Radiant section, it does exactly this through a set of aliases--if I remember correctly it basically gets the location with keyword LocTypeHold that has the centermarker nearest to the player.
Is that seriously how that works? That seems a little flimsy. None of the holds are equal in size or shape.
I do it by using a spell effect on the player that is conditionalized for IsInRegion, and I point the region at the region that spell is designed to represent. One spell for each Hold. Those spells have active effects which fire OnMagicEffectStart events that change a global to a set of known values (1 through 8 I think; 1 = Falkreath, 2 = Whiterun, etc). Then I just look at the global to determine where I am.