Die vorgeschlagene Methode würde wohl funktionieren, allerdings werden die internen Pullups abhängig vom Eingangssignal geschaltet. Besser wäre es am Anfang IN r16,porta zu benutzen. Wenn die I2C routine im Interrupt läuft eventuell noch CLI/SEI um den code setzen.