Cuando un programa se esta ejecutando en un pic, puede escribir en la memoria de programa (flash), no se si me explico
Algunos PICs pueden y otros NO. Dentro de los que pueden, no todos son iguales. Algunos por ejemplo pueden autoescribirse decenas de miles de veces, otros solo 1000 veces.
Otros se escriben en bloques de 8 bytes, otros de 1 byte, otros en bloques de 64 bytes y otros borran de a 512 bytes por vez, por más que puedan escribir de a 64.
Todo eso conlleva a que los bootloaders, como bien te ha sugerido Nocturno, deban estar muy bien armados para cada tipo de pic y no existe un bootloader que sea genérico para cada pic/familia.