The music bit is pretty straightforward. The best way to do this is to allow the user to download the music by clicking on a link. You do this in the normal way, except instead of linking to a HTML file, you link to your music file instead.
If you want it playing in the background, I can't really help you. I've never even bothered to learn how to do this because I feel it's incredibly tacky. But, each to his/her own...
www.webmonkey.comFor the second part, I fear we are going into server-side scripting territory. It can be pretty complicated stuff if you aren't familiar with any programming languages, and I doubt your Geocities space supports this anyway.
If you are serious about this, then firstly go back to
www.webmonkey.com and find out about server-side scripting, and then find out if Geocities supports PHP, ASP, Coldfusion etc. If they don't, you'll either need to shell out some cash for 'proper' webspace or just not bother with it.
Sorry 'bout that. :-/