I used an unsupported module called Custom Contexts to define a different context for extensions in public space (that I don't want users dialling out over a trunk on).
It made life really easy, and better still I defined a rule list of numbers that could be dialled such as emergency 000 and our Technical Support number (which is free call from our SIP trunks).