RICHI eso seria usando librerias y que las librerias fuesen iguales para ambos mcus pero esto no es asi, microchip pone sus librerias y el orden de los operadores puede cambiar, incluso el nombre de las funciones por lo cual ya tenemos que cambiar el nombre y orden de operadores. Ahora bien cuando nosotros hacemos el codigo, por ejemplo un PWM, CCP, TIMER... o algo asi no utilizamos libreria alguna yo por ejemplo no utilizo ninguna libreria para mis proyectos utilizo mis propias funciones adaptadas a mi proyecto, entonces al ser asi no podria migrar las funciones tal y cual, tendria que reescribir el codigo especifico para este hardware.
Entiendo como quieres enfocar la situacion, pero resulta que no es solo cuestion de cambiar de pic y ya esta, ni tampoco nadie hace un codigo generico que se pueda migrar entre fabricantes, porque requiere mas tiempo hacer esto que hacerlo para un unico hardware. Microchip por ejemplo hace placas de entrenamiento para distintos pics y estos codigos son migrables entre pics sin problema, aun asi no es del todo tan sencillo aunque ellos nos lo pongan asi, han tenido que cambiar funciones entre pics para hacerlo de tal forma y eso les ha costado el doble de tiempo.