Note there is only one IRQ vector associated with each port, code would have
to determine which pin was responsible.
If you need individual pin capability, the way you are approaching it looks OK.
Thanks Dana for your recongnising my idea.
I have made my idea work.