Hi Fraser
I understand your problem with simultaneous use of serial and SPI.
I worked with 252
WS2812 LEDs in my example (Noel guirlande) so take it to see if you can have some solution to debug SPI and leds.
I also made a simpler project with
WS2812 LEDs for the Delorean car to make a visual animation for a friend, I used only 8 WS2812 LEDs.
I also made for another friend the illumination of the Eiffel Tower for the olympic games.
16f1827_SW2812b_Dada-tour-Eiffel-X.jal.
I used the SPI and the library made for the WS2812 Leds.
Take care of all pin naming and I did my own library (slightly modified the jal library for 16F1827 SSP1CON has to be SSP1CON1)