When I was suffering with PIC's, they had a cool feature that I miss on AVR's. That is interrupt on change for the I/O. Meaning that I can setup a mask for the pins I do not want to cause an interrupt, and the ones I do interrupt to the same location for service.
This was a very handy thing to have as there was no need for external circuitry that would trip one pin for several possible points. It was all done internally.
I currently use several pins on a CPLD that generates a single INT0, and the micro then polls the CPLD to find out what the deal is.
Does AVR have this feature in any of their devices? :?