Nein, der erste bist du nicht. Es gibt schon nen Haufen fertige avr-gcc-Bibliotheken dafür.
Die wohl bekannteste I2C-lib ist die von Peter Fleury:
www.jump.to/fleury
Damit kann man sowohl Hardware- als auch Software-I2C implementieren.

PS: Spannungsüberwachung und Tasten könntest du über eine I2C-ADC wieder anschließen.