Memphis правильно писал-
В контроллере АТМега128 команды обращения к портам F и G немного отличается от обращения к остальным (А-Е) портам,
например команда ассемблера OUT заменяется на команду STS,
а команда IN на LDS (по информации от Atmel из-за удаленности в карте адресов этих портов)
Поэтому все обращения к этим портам F,G (даже инициализация выводов этих портов) команды IN и OUT не работают.
Ваша команда
.equ __i2c_port=0x65;
не разрешит обращаться по команде IN R16,0x65 , но разрешит по команде LDS R16,0x65
Это надо объяснить CodeVisionAVRу.
Сам стандартный порт I2C находится на D0(SCL), D1(SDA) порту.
Самое легкое - переназначить на них выводы