I'll say wiki it. wiki.dreamhost.com you will find most of the answers or solutions there.
You can log into your website through DH panel --> Domains --> Manage Domains --> WebFTP. Your files should be stored inside "domain.net" folder.
at the post mentioned above, it is free.
It depends what access you want to give. If you just want them to upload files to a subdomain, you can create a ftp user for the particular subdomain for your friend. check DH panel --> Users
It takes some time for new domain name to propagate in the network. It may take around 72 hours.
I did not get your question. If you want to protect your file, you can try to set up htaccess file. check http://wiki.dreamhost.com/index.php/Htaccess
I believe you can do this using PHPMysqlAdmin. Export the database in your old server first and import to DH.
Save [color=#CC0000]$97[/color] (max discount) on dreamhost plans by using promo code: [color=#CC0000]97CRAZY[/color].