1. No, godaddy actually does charge for a domain name separately, but here are a lot of hosts that provide a free domain name with their hosting subscription. (more about that later)
2. Yes, but not right away. First you'll be reminded a couple of times before your domain name expires that you should renew it, than if it expires, for a couple of days your domain name registrar will offer you to renew it at no additional price, than for the next month or so you can renew it, but you have to pay a lot more, like $100. Then about 75 days after the expiration date someone else can buy it. But if you get a domain name with your hosting, it can't expire, since your host will renew it for you (for free) for as long as you use their hosting. If you, at some time decide that you want to change your hosting provider you can cancel your hosting account, take your domain name with you and just transfer it to your new host. You are the full owner of your domain name. You can even transfer it to a 3rd party registrar if you want, totally separate from any hosting provider.
3. Linux hosting is the best, it's used by the majority of websites on the internet. The only reason to get Windows hosting would be if you code your website in ASP. Linux hosting is the default so if a hosting provider doesn't mention which OS they use, it means that they are using linux.
For hosting I recommend one of these: http://www.tophostingpicks.com
iPage has the best offer right now.
Their standard price is $84/year ($6.95) but they have
a 50% sale, one year of hosting for $42.00.
Their plan includes:
Unlimited disk space
Unlimited bandwidth
Free domain name
Price: $42/year ($3.50)
They have one of the most popular hosting platforms, which currently hosts over a million websites. They're also one of the oldest hosting companies, founded in 1998.
They include a free point & click online site builder so you can create a website without any programming (easily, just by drag and drop) or you could install Wordpress (they include easy, one click install from their control panel), choose a theme that you like, and start adding content.
They also have a great custom control panel with OneClick installs of all the popular software like Wordpress, Joomla, Forums, Chat, Galleries, Online stores and a lot more.