En mi opinion creo que no seria viable hacer programor mediante la tarjeta de sonido. Es factible, lo es, pero no es viable. El bootloader en el micro seria tan grande porque habria que identificar tonos (sonidos) y para eso se necesita alta velocidad de muestreo y luego procesado... en fin muy complejo y al final el bootloader sera muy grande. Ahora bien tal como te lo comenta diguito_69, no todos los pics tiene la característica de Flash Program Memory with self read/write capability. Creo que ya desde allí estarías descartando varios de los PICs. Lo primero es que solo podras usar PICs con esta característica y luego usar un serial, ya sea por hardware o por software. Despues puedes usar un convertidor de serial a USB y hoy día hay muchos muy baratos.
Mira este que solo cuesta $1.00 USD!!!!!!
http://www.electrodragon.com/product/usb-ttl-serial-ch340-board/Si te fijas bien el arduino usa el puerto serial para programacion, pero tambien usa un segundo microcontrolador como convertidor de puerto serial a USB, ese codigo está disponible y lo puedes usar como interface, o bien usar el que te menciono que practicamente por un dolar podrias usar cualquier microcontrolador que tenga la caracteristica de self read/write para la memoria de programa.
Ahora bien, existe un bootloader muy pequenio que fue desarrollado para microcontroladores PIC, que se llama Tiny Bootloader
http://www.etc.ugal.ro/cchiculita/software/picbootloader.htmEn mi opinion, creo que no es viable realizar un programador como el que propone evvrivas. Pero como dije, es mi opinion.
Saludos.
elreypic.