Most important part, I need the PIC to communicate with a PC via USB, I'm still getting info on that (if you have some interesting links you may post them too, thanks), but that makes it another 2 pins. So, for now, a minimum of 36 separated I/O pins is required.
16F727
16F887
16F917
16F946
16F777
If a USB module is required, then none of above as they do not offer a USB module.
There are a few PIC16 series, however I would recommend considering either PIC18 or PIC24 series.
Unless of course, you plan on using a low-speed software implementation of USB like 16FUSB.
If a DIP package is required over a Quad package, this would reduce the possible options even further.
Another question is about reducing the number of pins used on the PIC. I may use a LED driver to reduce the 14 bi-color LED pins to only 2 (serial communication). But can I somehow reduce the number of pins used on the rotary encoders and their push button? I'm thinking about some very small IC with 6 I/O pins that would read the pins statuses and then send them all-in-one with a serial communication to the PIC, and receive some info and turn on/off the LEDs. A part some PIC10/12 devices, do you have some very very cheap IC to suggest?
You could use a combination of parallel in/serial out (74HC165) and serial in/parallel out shift registers (74HC595) to act as inputs from the encoders and outputs for the LEDs.
Another option is to use port expanders (MCP23S17) which are typically available in either SPI or I2C interface, bidirectional and many offer hardware interrupts.
Either of the above options would greatly reduce the necessary pin counts for I/O.
You might want to checkout the PIC18F45K50, available in 40-pin DIP, internal 48MHz oscillator, 32kB of Flash, 2kB of RAM, for $2.50 or volume less $2.00.
BigDog