Всем добрый день!
Кое в чем удалось разобраться.
При инициализации USB выводы RB2 & RB3 назначаются как линии "External Transceiver" VPO & VMO. Поэтому при написании программы это необходимо учитывать. Так если вы используете SPI и USB то про прерывания INT0-INT2 можете забыть.

Остается использовать RB4 - RB7, по изменению состояния.
Ещё один момент вывод RB5 необходимо настроить как вход и подтянуть к Vcc. Иначе USB не инициализирется. (Покрайней мере у меня при других вариентах на отрез отказался работать). Хотя про RB5 в документации ничего такого не нашел.
Вот такие дела!!!
PS. Все это применительно к кристалу PIC18F2550. Другие кристалы с USB не смотрел.