I'm a little sceptical, can I really use each pin for interrupt?
Yes, but they're more like pin change interrupts, performance-wise.
You get all of the rising/falling/etc options of "real" interrupt pins (per bit) on the m328/etc, but you only get one actual interrupt per port, and have to decode which bit caused the interrupt (but there is a register that helps with this.)
Presumably it's all supported by the attachInterrupt() function, but slower than defining a separate ISR for the two "real" pin interrupts you get on a m328.