Use a singleton. Class::Singleton is a good place to start. Anything that is global cannot, by definition, be the perfect alternative to global ids to store such information in a predefined data dictionary.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?