Making modifications to cache and index maps is easy. Use
Shin's WeeMapCache to add new GATs to your cache in
db/pre-re/map_cache.dat or
db/re/map_cache.dat. You'll also need to add the map name in
db/map_index.txt and
conf/maps.conf, but that's about as much "source" modification you'd need to make. If you're concerned with the need to recompile, it really isn't a hassle if you only compile the map cache; similarly, you would have to do a similar process and compile your plugin anyway for it to work, which would likely end up being more time-consuming than necessary.
To compile only the map cache (on Linux), run these commands from your server's root folder:
./configuremake tools
...and that's it! For MSVC builds, you'll need to recompile the
mapcache project, which is just a matter of right-clicking and choosing
Compile.
Bottom line is, having a plugin-based method to update the map cache and index would be less efficient than simply adding them manually.