Web hosting:
I googled and the only one that I could find that meets all of you requirements is http://www.freewebhostingarea.com/ (At least I think it lets you have .com).
http://www.coffeecup.com/ has a lot of great software for making websites (coding and visual). It also has free web hosting, but the name would be <website_name>.coffeecup.com or you could have <website_name>.com for 14.95 per year. Another great thing about theirs is that you can put your site on the web from their software but only using sdrive (their web hosting). Which isn't what you were looking for though.
Yeah, not many companies let you have domains for free because it costs to register them. I have three domains, but can't afford to bet webspace because most companies (like 1and1) make it seem cheap, but then surprise you by revealing you can only pay in 6 month intervals or more.