how static is the info? If it's truly static, and all you're doing is lookups - data isolation isn't really going to be an issue. I'd either go with an external function and scope the data by file or simply go with shared memory. (It also sounds like performance is critical and I'd probably add mutexes and multithread the app.)

If the data is static with regard to only to a particular function (and different functions can be used at different times) your trade-off is going to be memory-use vs. access speed. Throw everything into a single large chuck of memory and access will be fast. Create the memory on the fly and memory use will be less, but you'll take a speed impact.