If you overlay the grid in the map, the lines/text will be huge when zoomed in... Additionally, you will also see it in the TAI map (I guess anywya), so I don't think that's a good solution. There two things I can think of:
a) make another menu layer of the map, drop a massive texture on it with the grid, and slide it according to sub/map position (UnitContactWrapper), optionally scripting in different textures with different zoom levels.
b) better is to hook the render pipeline (very much possible, without need for injectors). Yet still this is more difficult because there are other objects displayed over the map, so besides hooking D3D you will also have to hook the function that renders the map. But performance wise (no need for a huge texture, and lines/text can be scaled with zoom, by using native D3D calls) it is a much better option.
So, who gives it a shot