Wish I could be of some real help, but I was recently going over another fella's MOD, and remembered noticing fog functions near where he had made modifications.
The changes he made were right under a fog function in the engine in
renderergl1\tr_main.c +/- 1001
See if a sprite is inside a fog volume
then when I looked real quick this stood out to me...
renderergl1\tr_image.c +/- 1128
Returns a 0.0 to 1.0 fog density value
This is called for each texel of the fog texture on startup
and for each vertex of transparent shaders in fog dynamically
That's about all I can do. Most of my changes to the engine don't compile, or crash after compiling. I have the same troubles as you do, trying to find a needle in a haystack... but I used a nice program called textpad to search for fog in ioq3 source code. Good luck, sounds like a great project, and would be interested to hear if you succeed.