de qué forma se pudiera construir un programador para PICs que permita leer el software
Lo mas barato y rápido para conseguir es, como dijeron, el JDM. Incluso si el puerto serial es por adaptador (el cual no posee la corriente necesaria para programar bien -aunque hay que probar primero-) si mal no recuero hay adaptaciones para que la alimentación sea externa, al menos los 5V, la alta tensión, en los PIC "modernos" no pide casi nada de corriente, se deriva de los 5V.
Por el lado del programa, si trabajas con los protectores y posees uno o sabes exactamente que es lo que tiene que hacer puedes hacer un diagrama de flujos y se podría intentar programar un software que "copie" el funcionamiento.
No creo que sea muy difícil.