My machines connect to DSL via a typical Linksys``gateway'' device. I use as many static IP addresses as possible (everything but my notebooks). This is because dynamic address assignment by the Linksys (via DHCP) does not support host names. I find this to be completely absurd. The DHCP base level protocol should require a table of host names to be maintained, along with DNS lookup interception for those names. Somebody really dropped the ball on this one, in my opinion.
In the setup pages of the Linksys gateway (accessed from a Web browser), one is referred to two services for setting up host-name support (called DDNS). One of them is free, so I guess that's not so bad, but the set-up effort looked like a lot more work than simply hard-wiring all but one of my IP addresses. Just reading the FAQ would have been more work!
You really want your notebook in DHCP mode when you take it out in the world. It is not obvious to me how to select different wireless ``profiles'' under Linux, but you can do that under Windows.
One helpful trick is to limit the DHCP assigned address-range in the gateway to the number of notebook computers you have. In my case, I can get it down to two, so I have a 50/50 chance of guessing it on the first try when I need to ssh to it from some other machine on the local network. I also set the assigned-address timeout as high as it will go (9999 minutes one week -- setting it to 0 means one day -- another bug in my opinion).