Wie sesagt: Precompilat erhälst du mit gcc-Schalter -save-temps, also
avr-gcc -save-temps ...
Dort, wo dein Objekt *.o erstellt wird, sollte danach ein *.i und ein *.s (Assembler) zu finden sein. In deinem Falle also i2c.i und i2c.s, das *.s natürlich nur, wenn das Compilieren funktioniert.

Bei dem Listing der Include-Pfade sollte auch dein
AVR_INSTALL_PATH/avr/include auftauchen.

Warum das sbi() nicht gefunden wird, ist mir schleierhaft.
Bei mir funktioniert das problemlos und erscheint im asm auch als sbi.

Johann