Methods for tethering the iPhone (using its EDGE connection from a desktop system or other device) have thus far been complicated and fraught with issues. Thanks to the hard work of Jonathan "NerveGas" Zdziarski, however, the process has become easier and more robust.
Zdziarski has ported BIND 9.4.2 to the iPhone, allowing the device to service DNS using ad-hoc networking to your iPhone, This means that that tools without SOCKS support for DNS can use the connection. If you're using Firefox, for instance, toggling one setting (network.proxy.socks_remote_dns turned to true) will allow access.
Full instructions for the tethering process are here, and you'll also need to download this file which will be copied to your iPhone.
The process requires a jailbroken iPhone