It's not possible, sorry.
It is, I have done it, but you'd need a copy of the directory servers, and we can't give that out.
You just set up the directory server to listen locally only, then configure the clients to look for it on the lan IP, pretty simple.
I think there may be a hook for it somewhere without the directory server though, as when I used to run two servers behind one router (one on 27100, and the other on 28100) it would often list them both twice at the serverlist when viewed locally, but only once when viewed from a remote location. I did a little packet sniffing and indeed one is the lan IP and the other is the WAN IP... it is built in somewhere... login to either and the server always sees the LOCAL client IP no matter what
...but gamespy authentication (grrr whose idea was that?) makes it a pain, you still need the directory server to be connected to the net so it can verify gamespy logins, I believe I hacked this once out in the woods by writing a server to give a valid gamespy login no matter what and just edit the hosts file on the clients to point to this instead of gamespy. (or it may have been a directory server config hack, I don't recall...)
It is possible, but not allowed.