No sé si será tarde, pero agrego datos que te pueden ser útiles:
1) Para leer una SD podes hacerlo mediante el protocolo SPI o el protocolo de comandos de la SD. Para un micro lo más sencillo es SPI, aunque el de comandos es más veloz.
2) Para reproducir un archivo de audio tenés que tener en cuenta que si bien la extensión es WAV, puede o no estar comprimido. En caso de estarlo vas a necesitar un descompresor por software (o bien por hardware). En caso de no estarlo, tenes que sabes como está la información en el WAV (si es estéreo, la velocidad de muestreo, cantidad de bits por muestra, alineación, etc.). Toda esta información está contenida en la cabecera WAV. (más info aca:
https://ccrma.stanford.edu/courses/422/projects/WaveFormat/). Lo mejor sería primero abrir el WAV en una PC con un editor hexadecimal e ir leyéndolo para ir conociendo la cabecera y demás.
3) Dentro de la tarjeta de memoria tenés (dependiendo del tamaño de la tarjeta) un registro maestro de arranque (MBR), sector 0 de la tarjeta que contiene justamente el bootloader si la tarjeta es arrancable, y la tabla de particiones, que te va a decir donde comienza la partición que contiene los archivos WAV a reproducir.
4) Una vez ubicada la partición es necesario procesar el sistema de archivo (en tarjetas de menos de 2GB suele ser FAT16), para finalmente ubicar la ubicación (valga la redundancia) de el archivo a reproducir.
5) Cuando ya tenés la ubicación, lo único que queda es, justamente, reproducir el archivo.
CCS contiene un driver para FAT16 que puede simplificarte un poco la tarea. Cabe aclarar que solamente funciona en PIC18 dado que consume demasiada memoria (tanto RAM como ROM).
Espero haberte ayudado. Saludos, Mr. Hell.