Also is there some way we could pre-load all the files so we wouldn't have to sit for 20 minutes downloading it all before joining a game?
it won't be on the server, it will just be white listed
you'll have to download it outside of the game and install it yourself.
This.
Deffinatly volentary. Otherwise it would come under the grounds of mental torture.
I'm not sure of the nuts & bolts of it. But I would imagin that people would back up their original files and then download the flies they want (or the entire lot if they want to) and then when the game is playing and an event triggers a sound file, they will hear a Rippy version of the anouncer.
I could be wrong of course

Almost correct, you now get the bog standard mode explanation of how Source customisation works. Enjoy!

In general, Source games will take their files from the GCFs (Game Cache Files) stored in the common applications folder. These files are basically huge archives; they contain the same file structure as the individual application folder within your username in the Steam file structure.
When a Source game wants a file (say a texture, model or sound) it will first look to see if it can find said file within your personal directory. If it can't, or if the server pure settings instruct it not to do so, it will instead take the file from the GCF.
This means that there is no need to back up files before installing modifications; to revert, you simply delete the custom files and the game will automatically take the file from the GCFs instead.