Yes. You can host as many domains and/or sub-domains as you like, subject to the disk space and CPU usage restrictions currently in place.
The domains will have different root directories and for all intents and purposes are completely separate.
You can also configure different FTP users for the domains, so your friend can log-in and make changes to his site without having access to your domain.
Not unless you want them to.
Save $50 on DreamHost hosting using promo code "SAVEFIFTY" ( DreamHost Promo Code )