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.