Good solution for more interrupts on an arduino?
You could use a Programmable Interrupt Controller (PIC) such as the 82C59A. It will cascade if you need more than the eight interrupts it provides. It's a bit old school but I think it will handle all of your requirements. From these lecture slides:


  Block diagram of 82C59A
  
  
  It is treated by the host processor as a peripheral device.
  It is configured by the host pocessor to select functions.
  Chip Select is again used to address the 82C59A when necessary.
  
  \$\text{A0}\$ address selects different command words within the 8259
  
  \$\text{INT}\$ and \$\overline{INTA}\$ ared used as the handshaking interface.
  
  \$\text{INT}\$ output connects to the \$\text{INTR}\$ pin from the master and is connected to a master IR pin on a slave
  In a system with master and slaves, only the master \$\overline{INTA}\$ signal is  connected.
  
  Interrupt inputs \$\text{IR}_{0}\$ to \$\text{IR}_{7}\$ can be configured as either level-sensitive or edge-triggered inputs. Edge-triggered inputs become active on 0 to 1  transitions.
  Cascade interface \$\text{CAS}_{0}\$ - \$\text{CAS}_{2}\$ and    \$\overline{SP}\$/\$\overline{EN}\$:
  
  Cascade interface \$\text{CAS}_{0}\$ - \$\text{CAS}_{2}\$ carry the address of the slave to be serviced.
  \$\overline{SP}\$/\$\overline{EN}\$ :=1 selects the chip as the master in cascade mode.
  
  


Currently produced by Intersil and in stock at Digikey.