Te faltan los corchetes...
No, con los corchetes ocurre lo mismo. Creo que XC8 no permite usar "rom".
Estoy pensando que quizá el problema pueda ser que al hacer el "const char mensajes_ingles[] = {"01234567890123456789"};" te lo asigne en un banco de memoria de programa y al intentar ir a esa posición desde otro banco de memoria de programa es cuando hay el problema.
Ya no se me ocurre nada más, ¿puede ser que tenga que hacerlo con punteros?