... later SPI I/O Expander with interrupt output. This should allow you to use plenty. I didn't search for a breadboard compatible version. Maxim isn't the only one out there but I found more i2c ones than SPI ones.
I am also hoping to read several encoders -- I'll have two or three quadrature encoders, which means four or six signals to monitor. Any information about how well these parts work would be very helpful!I do have one question: the datasheet for the ATmega168 suggests that in addition to the INT0 and INT1 interrupts which can be set to trigger on rising/falling/low (and which appear to be exposed in the Arduino software and covered by the various tutorials), there are PCINT0-23 interrupts that appear to trigger on pin changes for various pins. There are plenty of these: would they be usable for reading encoder signals? I'm (of course) a complete neophyte to this, so it's possible that I've completely misunderstood what the PCINT interrupts can be used for: if so, my apologies.