I would definetely go for option 1, no doubt, for the following reasons:
1) Speed of access - You only need to present the data, no need to do real-time on request parsing which, if your site is successfull and many people access it, it will consume many resources anyways (the parsing in option #2).
2) Unified view - As you've mentioned, you are able to make all kind of analysis once the data is structured in a DB.
3) Contrary to your belief, storing in the database will, in the long run take less space. The reason is that you will not be storing all the XML headers in the database, so you will need less bytes to represent the user's file
As per the db structure, don't even consider creating a table per user, you don't want to be modifying the database schema (ie: tables) on the fly... that would be a real nightmare.
You need tables such as:
USER
SONG
at least, but you could even go to a further step and have other tables such as
ARTIST
etc...
Hope this helped