The PIC18F2550 is a USB PIC. If you are not using its USB device interface, that limits your clock options and the USB hardware takes up pins. Also the Microchip USB stack has a fairly steep learning curve. For general non-USB use, you'd be better off with the 28 pin PIC18F2520, or possibly the PIC18F25K22, although that one's a bit more feature rich and complex.
Also the PIC16F88 is well worth a look if you want a standard midrange 18 pin PIC, that in many applications is pin compatible with a PIC16F84(A) with only minor code changes, but has most of the newer features (including debugging) of the PIC16F886 in a lower pin-count.
For all the PICs mentioned above by myself and Mark, if you want in-circuit debugging, your target board must not use the RB6, RB7 and /MCLR pins.