That's a lot of questions in one post! Let's see if I can hit some of them:
Wireless - I'm more familiar with laptop wireless and there the Intel chipsets do well. There are some others that are well known amongst the Linux community, Prism is one can't remember others off the top of my head. The big problem is that typically you will see a wireless adaptor from someone like Linksys or Dlink - these guys just take the chipset and throw it on a card, without opening the package and looking at the chips or powering it up you can't tell what you are getting. To make it worse some of them change chipset without changing the model number.
Getting a hostname to resolve - go to http://www.dyndns.org
and setup a hostname there - you run a little program on your computer (under Linux I use ddclient) and it will update the DNS record every time your IP changes if you have a dynamic IP, or you can set a static IP as well.
FTP server, HTTP (apache) server etc - just install the appropriate packages - this is going to vary according to your distro and you don't mention anything apart from "ubuntu or the like". I would tend to use Debian stable for servers because it is rock solid and nothing changes apart from security patches, but that will be harder to get going and the wireless support is going to be less than Ubuntu. If you are on any of those just "apt-get install ..." whatever you need.