En el puerto b solo trabajan unos reles, y ya está configurado para que sea salida, por lo q eso lo descarto, me queda la duda de que sea algun fuse, la verdad no se que puede ser, el caso es q estoy trabajando con los pulsadores en el puerto C, y funciona como debería... es extrañ. Si me responden los de CCS ya comentaré lo que sea.
Saludossss!

EDITO:
No se como, ni pq, el caso es que ya funciona, he añadido esto:
#fuses NOWDT,WDT128,XT, NOPROTECT, BROWNOUT, BORV25, NOPUT, NOCPD
#fuses NOSTVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, NOIESO, NOFCMEN, NOPBADEN
#fuses NOWRTC, NOWRTB, NOEBTR, NOEBTRB, NOCPB, NOLPT1OSC, MCLR, NOXINST
port_b_pullups(true);
set_tris_b(0x07);
setup_adc_ports(NO_ANALOGS);
Gracias TOni0 por la respuesta en el foro de ccs

Asiq, al finnnnn proyecto fin de carrera terminado!!! y funcionandooo

GRACIAS a todos (en especial a Oshow

los que me han ayudado hasta hacer este caxarro posible

Salu2!