1. Yahoo but you have to be in the US to use them. And I suggest you get a server not use an unlimited reseller, I have tried in the past and it has been nothing but trouble. First couple months will seem great but then it will become a nightmare.
2. It would depend on what you want. Paid hosting means guarenteed income if you get customers and free means revenue that varies.
3. I wouldn't use PHPNuke it is unprofessional. Go with a real site.
4. Im not sure how to answer that?