You need to write a I2C bootloader to the AVR. There seems to be a project that has already created such a bootloader.
More as a sidenote. Atmel has provided a TWI/I2C bootloader for their XMega processors (not the ATmega168).
Next problem is uploading the code via I2C. You'd need some hardware to convert USB to I2C. And some software to talk to this hardware. The last part is probably supported by AVR studio, as Atmel has provided an I2C bootloader. Though I'm not sure both of the above bootloaders are using a compatible protocol over the I2C.