lo que puedes hacer, que dista mucho de lo que explicas aca, es hacer un interprete de tu propio lenguaje, en la tarjeta de memoria pasas tu programa en un archivo de texto plano, y ese archivo lo copias a una memoria interna, ejemplo una 24lc512, con esa tienes mas que suficiente para un programa bastante grande, luego el pic, cuando inicie verificara que el programa almacenado en la memoria interna sea el mismo que el de la tarjeta, si es que existe, si es el mismo o no hay tarjeta, el pic ejecutara el programa almacenado en la memoria, cuando insertes una tarjeta y los programas sean distintos, el pic debera reescribir su programa en la memoria, con un previo borrado total,
creo me explique bien, pero reformulo la idea:
-programas un pic para que sea interprete de tu propio lenguaje, o puede ser uno ya existente, pero creo que entenderas mejor el tuyo
-en un archivo del bloc de notas, escribes un programa para tu pic
-pasas tu programa a la tarjeta SD con un nombre ya predefinido en el programa del pic
-en el programa del pic, debes añadir la opcion de interrupcion cuando insertes la SD, lea la SD y copie el programa si es necesario a la memoria interna, con memoria interna me refiero a la 24lc512.
-una vez copiado comienze la ejecucion del mismo.