Although the 18F has been mentioned, if all you are doing is checkinga digital input (yes/no) and making outputs high/low, then any PIC microcntroller is capable of that - as long as it has the available number of IO required for the project. With much talk about timers, debug breakpoints - if yo're starting out do yourself a favour:
1) Get a PIC thats commonly used for tutortals/examples on the internet, so you can use the example code given straight into the chip without having to modify it for a slightly different device. Examples from small to large, 12F629/675, 16F630, 16F628A (thats getting old now), 16F877A, 18F1220.
1a) Get what ever PIC is available to you - no point in going out your way to get a 'really cool' new PIC.
2) For just making pins high/low, the vast number of peripherals on PICs (ADC's, PWM, UART, SPI, I2C, timers...etc..) will most likely be redundant, and as some are 'on' by default, the first part of your code will be purely to turn these things off because you're not going to use them. A nice basic 16F series will do just fine, and is supported by almost every compiler. 628A if its sill not too old to start getting expensive
3) What are you writing code in? MPLAB for assembly obviously, but if you're a C person, mikroC do a 'free' version for non-profit/educational purposes, with a limit on code size. They have many many examples, large support on the internet, and is quite easy to understand.
4) Buy a pickit2 programmer, or clone
Some ebay shops sell these very cheaply. If you're trying to make your own programmer, this has been a source of headaches for many.
Don't worry about the speed of checking a button press. Humans can, at best, do around maybe 20ms 'tap' - and for a momentary switch a lot of that at the start will be switch bounce. The general standard speed for PIC's is 4Mhz (internal oscillators), and can execute one instruction per 4 clocks - giving a million instructions per second. So you could read your input pin 20 thousand times for even the quickest tap. And even then theres interrupts which jump to a block of code when a pin changes state - no need to manually 'read' the pin, so you could sense the footpress in a few us. Of course you can reduce the clock speed to reduce power consuption (5mA for 4Mhz? uA for 32kHz...) but unless you're running this off watch batteries - I don't see the point
And yes, technology is great
I have yet to really use a PIC to its full capabilities, I would say much code writen these days is 90% 'waiting' for something to happen, or delays. And those are just 20MHz 8-bit machines...