A decent web hosting company should make your account available (or live) pretty much immediately. 
  They should also provide you with a URL to temporarily access your website. Something like 
http://www.hostingcompanyname.co.uk/~yoursitename  They should also provide you with FTP login details that work straight away. 
 It can take up to 3 days for a new domain name registration to "point" to the right place on your hosts servers. This process is called DNS propagation. 
 For an FTP program I use CuteFTP (
http://www.cuteftp.com). It has a free evaluation version you can use. To be honest I can't remember what the restrictions with this are as it was so long ago that I actually decided to pay the USD30 to licence it! I've also used WSFTP which is pretty good.