Here's the idea: Add a column to the cache_store table called "cs_global". If a cache has this set to "1" then it means it must be loaded as a global cache, and if set to "0" it means it will be loaded when the module loaded (as normal). So then when IPB loads the global cache's you can have it load all the cache's with that value set to 1, rather than by the specific names.
So like (where the extra1 and extra2 represent cache's loaded when a specific module is loaded):
SQL
Select cs_value FROM ibf_cache_store WHERE cs_global=1 OR cs_key IN (extra1, extra2)
So if IPB loads it's global cache's this way, then all you would have to do for your custom module is set cs_global to 1 on your custom cache, if you need it loaded as a global cache