The 16F887 is popular and will certainly handle what you seem to want to do.
There are lots of chips that will do what you seem to want to do. Even the 16F628A could do it. The 16F628A is often used in tutorials. It can have 18 pins in the the DIP and SOIC versions or 20 pins in the SSOP version. Basically, you need 12 pins for data (in the simplest version), two for power, and at least one for output (if serial). So, almost anything with 16 pins or more will work.
As I recall, this is your first microcontroller project, and I would suggest that you get a DIP version of whatever chip you decide upon for ease of handling. The main downside to the more capable chips is the setup. That is, all of those capabilities need to be addressed in the initiation part of your program. That sounds harder to do than it is in practice. First, there is lots of help on ETO to help you get through that, and second, there are lots of examples on the Internet.
So, in sum, just get something to get started. It is hard to conceive of any choice of chip you could make that has at least 16 pins that would be a complete dead end and require you to start all over.
You will need a programmer. The PicKit 2 and PicKit 3 are popular and relatively low cost. A step up is the ICD3, which Microchip markets as being a more professional version compared to the hobbyist PK's. If you are affiliated with a school or non-profit, both versions can be had at a discount.
John