Programer: i recomend ASIX PRESTO, i think is the most universal low cost programmer.
I can't help youa lot with the pic as far as i haven't read the mod code and don't know exactly how many I/O ports need it. But probably almost any pic with enough I/O pins will be good, always that it has enough memory for storing the code. Though as i said i haven't read the code and i don't know if it uses any special feature from a particular chip (i guess not cause the idea seems quite simple). I guess it just generates pulses when some particular input pins are at high level. I would say in c programming would be something like this. This would be the code for many pics but in c language, i am working right now with 12f675 (with the internal oscilator).
void init(void)
{
TRISIO = 0x01; GPIO0 set as input, the rest are ouputs.
}
void main(void)
{
While (GPIO0) // If GPIO0 is at high level
{
GPIO1=1; //GPIO1 which is an output will be set at high level
DelayMs(100); //delay of 100 miliseconds
}
}
There would probably needed more config register, take this as an example.
I don't know how many buttons you need, neither the voltage that goes through the lines of the buttons, that would be just a matter of measuring.