aja, ya parece que encontre la luz, miren esto, la clave esta en que el nombre de un vector es un puntero
#include <16F628A.h>
#fuses HS,MCLR,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP,NOCPD
#use delay(clock=20000000)
#use rs232(baud=19200, xmit=PIN_B2,rcv=PIN_B1,stream=esclavo)
char mensaje[10];
char *apuntador;
//rutina de interrupcion
#int_rda
void interrupt_service_rutine_rda(void)
{
}
void main(void) {
int i=0;
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
port_b_pullups(False);
set_tris_b(0b00000010);
delay_ms(100);
enable_interrupts(global);
enable_interrupts(int_rda);
mensaje[0]='h';
mensaje[1]='o';
mensaje[2]='l';
mensaje[3]='a';
mensaje[4]=0x00;
mensaje[5]='c';
mensaje[6]='o';
mensaje[7]='m';
mensaje[8]='o';
mensaje[9]=0x00;
fprintf(esclavo,"%s\r",mensaje+1);
fprintf(esclavo,"%s\r",&mensaje[5]);
apuntador=&mensaje[0];
fprintf(esclavo,"%s\r",apuntador);
apuntador=&mensaje[5];
fprintf(esclavo,"%s\r",apuntador);
}