Yes — to be exact, you get one free domain "action" (registration, renewal, or transfer in) per year with a paid hosting plan. Most people use this to register a domain when they sign up and renew it every year after that, but there's nothing to keep you from (for instance) registering a new domain every year and letting it expire.
Always. They don't cost us anything to create, so we don't charge you anything to use them.
The DreamHost Panel will make you pay for the domain if it's not free.
Yes, you'll need to have a paid hosting plan active to get a free domain.
Just the major ones. We do offer some international domains (see http://www.dreamhost.com/domains/ for a list), but they're paid only.
Note that, as I mentioned above, the domain registration is only free with a paid hosting plan. If you don't need hosting for now, an "a la carte" domain registration is $9.95/year.