http://mp3wrap.sourceforge.net/ -- takes care of steps 2-3
If i where you, i would try to do it using a shell script, or other language with easy access to script other programs. There are plenty of programs that can encode/decode audio, or combine it. The hard part will be the XML, i know there exists utils to get information from a XML document using xslt's (or whatever they are called) and such, but if you cant, simply choose a language to make a small program to output the filenames, then you can use that in a script leaving other programs to do the other work. Since im to lazy to help out on the XML part, and since i never used any of those utils, ill leave that to you.