1. Yes. Unless you are using your PC as a server (using WAMP, XAMP or similar), which can complicated enough to set up in itself.
2. You need some domain name. It can be either your own (eg: mydomain.com) or a sub-domain of someone else's (eg: myblog.theirdomain.com). This domain needs to be pointed to your hosting server before anything will work.
3. No. You either need to use FTP to transfer the files and set up your database, or you can use an automated installer like Fantastico if your hosting company provides that.
4. Yes. I don't see this as a big problem as personally I'd want to be sure that every site that I do is set up individually so I'd prefer to do this.
5. There's a lot on youtube. I haven't used them, but I've got a freind that's recently got her first WP site going (with a little bit of help from me) that's using videos to learn how to do things.