I'll defer to the SSCA discussions about very long-range WiFi connections. I moor up in about as urban an environment as you can imagine- Lake Union in Seattle, WA. There are dense office and residential neighborhoods on all sides of the lake.
SeattleWireless has a powerful directional antenna aimed my way from Eastlake Avenue, but I can just barely connect with the tiny antenna in my Linksys WiFi card in my Dell Latitude PC. There is an inexpensive wireless access cooperative in the marina, but I won't always be right here at the marina, and isn't Free so much more fun ?
I just purchased a Hawking HWU8DD USB wireless "dish adapter" from Fry's Electronics for about $70. It's just a USB WiFi adapter with a shiny dish-like antenna attached. It claims 8 dBi gain. It gets power and connection via a simple USB cable. Unfortunately the business end where it plugs into the dish is a mini-USB connector, so I'll need a special extender if I want to put it up on deck while I'm at the nav station.
I am using it from my apartment, in which I can get a handful of neighbor's signals. I am excited to try it out from the marina, and I'll post my results.
I expect a stronger directional "Cantenna" might also do the trick, as would very expensive marine antennas and directional antennas.