Hi,
Most PIC:s can do what you have asked for as long as they have enough PORTs availible.
Do you plan to make a small, big or huge program ?
Are you going to make one or one millions units (is price per unit a big factor)?
What will the future look like (USB or anything more special)?
A first choice would be 16F887 since it is cheap, has a reasonable big program space, internal EE-prom, UART and is pincompatible with other pics such as 18F4620 (for later emergency upgrades using the same footprint).
The 18F series will give you more speed (40 MHz compared to 20) and much more program memory compared to 16F887.
You didn't say if the PWM is running contantly or not. Maybe the need for speed is more important than price per unit.
Just to make sure:
I am talking about the 16F887 (eight eight seven), not the 877 or 877A which are the older chips doing more or less the same thing.
/me
Bookmarks