regarding cpld:
There are no small pincount but many macrocell cplds available.
The smallest I have found is from latice with QFN 32, that has enough space to fit a i2c slave and the receive logic.
But if it's possible to go without cpld it would be the better way - but will need some rework of the isr handling.