Well, if all you want to do is allow users to upload files into their own directory, then you don't have to do a thing, except create the users, as each user is given their own home directory that they can upload to. The problem is that these files will not be publicly accessible via HTTP. The method I outlined above, regarding giving these users their own sub-domain, is the easiest method I know of to enable them to upload files to a publicly accessible directory.
The method I was thinking of is the same method as outlined in the wiki article I linked above.
First create a new user for your friend then log-in as your friend and create a sub-directory in your friends home directory called (say) 'uploads'. Now create the required directory under your domain, in your case something like domain.com/friends/friendname/, now you use Domains -> Remap Sub-Dir in the panel to remap http://domain.com/friends/friendname/ to /home/friends_username/uploads/
This gives your friend the ability to upload content to the 'uploads' directory in their home directory and have that content reflected at http://domain.com/friends/friendname/
This method isn't perfect, as you will likely run into permission issues sooner or later, as the files that your friend uploads will not be owned by your user, they will be owned by your friends user.
I hope the above makes sense.
Save [color=#CC0000]$50[/color] on DreamHost plans using [color=#CC0000]PRICESLASH[/color] promo code (Click for DreamHost promo code details)