Welcome to Dreamhost! You have mixed a lot of different subjects into this post, and it is generally easier for others to search for, and benefit from, the answers if you make separate posts. That said:
That is entirely up to you, and you should do it whichever way you will find easier to manage.
Some of the things you might consider include how any existing databases are set-up on another host (do prefixes separate multiple instances of Joomla! there, and if not, will you have to diddle with the existing table names to sort all that?), will you want to keep the databases separate for different users?, etc.
It is the "name" (url) used to "host" the database and, again, whether you created a hostname for each domain, or subdomain, or even each instance of Joomla! is up to you - they are all simply an alias for the same host in the DH setup anyway, but if you are segregating users/data, etc,, you might want to create a new hostname (alias) for each instance, as these values will show n the DH Admin panel, and you probably don't want to confuse the issue. Ether way, however, will work.
That is the "db user" ("first" meaning "first one created") for the database being created, and once again, how you decide to manage DB users is entirely up to you. Many feel that having multiple users provides greater security should a site "break" and somehow expose the db user; YMMV and you should set it up in whatever way is convenient for you. It is also related to how you decide to implement your Question#1 above - if you use the same user for all, that user will be able to see all the databases on the host - and this may, or may not be, what you desire.
Yes. On Dreamhost, the email address also works for logging in to mail.
That depends on several things, not the least of which is your expertise! Another is what versions of PHP, MySQL, and Joomla! itself are in use at the other host. Sometimes it is easier to just create a new "one-click" installation of Joomla! on DH, install your templates and components, and load it with the data dumped from the other site. Other times it might make more sense to do it as you described (particularly if the other host sites are "older" Joomla! versions. You may not have any choice in the matter if the MySQL versions/data are different, and may have to do it all manually. The particulars are important here!
Hopefully, some of that is helpful. If you have additional questions, or want further discussion on any of this please create a new thread, in the appropriate forum (programming? Third Party Applications? etc.) to continue the discussion so it doesn't all end up "lost" to others in this "everything at once thread" (at least maybe separating the Joomla/DB related stuff into their own threads).