1) You can't. The web server is using
getpeername() or
something similar to find the endpoint of the socket, and
then making it available to cgi-bin programs. This makes
it a somewhat trustworthy source of where the client is
coming from.
2) I'm not clear why you need to do that. I suppose you
could set up a squid proxy on the client's machine and
route your requests through it.