"Iterating through an object on every location/interaction seems pretty expensive. Is there an equivalent of a Hash Map or a fast enough type of search that would make this perform optimally? Or, another approach altogether?"
Take a look at Object or Dictionary. Both have implementations which would help. "Would I be better off creating a property on each location/object for its contextual help information, instead of searching for a key in a centralized object that contains all the help info?" That's totally dependant on the rest of your architecture. Both have upsides and downsides. Gk.