I have been so close to a working solution but always come back to issues with ESP8266 latency delay when responding to the first interrupt.
Interrupt service becomes when of an issue it seems when examining any of the variables that modified during the interrupt routine.
I incorrectly arrived at a conclusion that the ESP8266 is fast enough to respond to each new write to the 2114 in a timely manner. It kind of is but if your main loop is referring to any of the variable set in the INT then it is no longer reliable.
Have decided to go back to the original idea of once the INT is triggered, read and record the state of the IO as fast as possible then post process the changes by looking for the toggle bit . It uses 1 extra pin but I think it is the only way.
So it is back to the drawing board.