I think u guys (except phil who didn't mention hiding IP) have the wrong idea. Here's the truth and facts.
There r in fact 2 IPs in question. Your internal one for your internal LAN, i.e. if you are using NAT, router etc, most likely be 192.168.x.x. And the 2nd one is the one that is assigned to you by the ISP, which is seen by the internet.
Now, I think you guys are all talking about the ISP assigned one right?
Well, this cannot be hidden, since it's what is required for the ISP to send you back any requests, i.e. webpages, VPN, etc. Unless of course you'd rather just send out only and don't want to receive anything, then you may be able to spoof your IP.
The only way to sort of hide what you are doing is not by installing a proxy server software on your machine, but rather you being able to use someone elses real external remote proxy server anonymously, i.e. encrypted like SSL, SHTML, VPN, etc, or else data (including web addresses) will just be visible.
The idea is this:
1. your PC will request (using your ISP assigned IP, which isn't hidden at all) your ISP to communicate with the remote proxy server,
2. and it's the remote proxy server that will get you the requested (webpage, etc) for you and not your ISP. Job achieved.
Remember that all this data has to be relayed between your ISP in order to get to you, hence why you cannot hide your ISP assigned IP. But because the data was encrypted the ISP will not know where you have been, other than the knowledge that you went to the remote proxy server and transferred some encrypted data.
There is a caveat, if they wanted to, a community with higher order (CIA, FBI, etc) can check out the remote proxy server you are using to spy and trace you. There is nothing you can do since the remote proxy server will most likely have an owner.
Obviously, if you r talking about the internal IP, then yes that can be hidden. But what would this accomplish?