I'll leave recommendations for the 16 and 32 bit families to those that use them more than I do and only consider the 8 bit PICs.
The PIC18F4520 is a rather old device (released 2004) - second generation PIC18 that superseded the original PIC18F452 (released 2001). If you are looking for a general purpose 40 pin PIC18 without USB or CAN bus, you'd do better with the PIC18F46K22 (released 2010). Its 33% faster, has double the memory and more and better peripherals. Also when you've used up your free samples, its about 25% cheaper. In most applications, its a pin-compatible replacement for its predecessors with only minor code changes. The 28 pin PIC18F26K22 is basically the same but with fewer pins, and the 20 pin PIC18F14K22 is similar but with lower specs, when you need something small and cheap.
There's more good Enhanced Midrange devices (PIC12/16F1xxx(x)) than you can shake a stick at. You really need to choose the peripherals and features you need for your application rather than picking a generic one to stock.
For the 'classic' standard midrange devices, consider the 18 pin PIC16F88, 28 pin PIC16F886 and 40pin PIC16F887. All are top of the range for memory and peripherals and have built in silicon support for debugging, which is somewhat rare in standard midrange devices. If you need a standard midrange PIC12, get the PIC12F683 - again its the top end one in an 8 pin package. No built-in debugging for this one, but loosing 3 pins to the ICSP/ICD interface isn't really viable with only 5 I/Os and one input only pin to start with.
For baseline PICs my recommendation is 'not with a long barge pole' - they are best totally avoided. There are better cheaper (non-Microchip) choices for their only remaining niche in high volume production when you need to squeeze every cent out of the cost of a simple MCU.