1 - Install openvpn: http://openvpn.net/index.php/open-source/documentation/howto.html
2 - Install a proxy such as squid
3 - Configure your browser to use that proxy
2A - Alternatively you can push routes through openvpn for these IP ranges you want to access through the openvpn connection. In that case all traffic on your computer that tries to access these IP ranges will use the openvpn connection.
It will appear as if your traffic is coming from the IP where the openvpn server resides. Works flawlessly. :-)
The traffic of course is encrypted at least from the openvpn server to your home. Your ISP and anything else in between will not be able to figure out what the heck you're doing in case they felt a need to.
Works well also when "on the road". If you're in a hotel which blocks openvpn udp port 1194 you can configure port 80 for example.
Edit: I meant for steps 1, 2 and 3 to be done as one solution. Although just step 2 could work as well, less the benefit of encryption that openvpn provides.
You can try to use stunnel to encrypt squid. I have used it successfully to enable encrypted squid traffic and password exchange.