Security assist will do 1 (you can manage access to pages so doesnt need to be a subdomain if you dont want to),
Universal Email will do 2
Data Assist could do 3 (by adding a database file category value for each file you upload you could filter your recordset to group your files rather than have them physically in different directories), 4 (using session variables you could upload the user information to state who uploaded it and also have a form for people to add keywords, 5 could show you the recently uploaded files in the results page if you also added a datestamp to the database on upload and then filtered the recordset, 6 a search function is also created by data assist