Pues me respondo yo mismo, ya detecté cuál era el problema
Para poder generar una spi de un tamaño diferente a 8 bits, se tiene que hacer implementando la spi por software. Por eso, el error estaba en la línea 62:
setup_spi (spi_master | spi_h_to_l |spi_ss_disabled);
Esa directiva es para implementar el spi por hardware, el cual no es el caso.
Al quitar esa línea y especificar los demás datos en la misma #use spi (como por ejemplo MSB_FIRST), funcionó perfectamente el código; usando el comando
spi_xfer (STREAM,data,bits);
Ojalá que este hilo le sirva a alguien que tenga el mismo inconveniente. No le vaya a pasar lo mismo que a mí
Ok de todos modos agradezco a todos y al foro, del que he tomado muchos nuevos conocimientos
Saludos pues, nos leemos!