I2C ist ja so ausgelegt das es immer einen Master und einen Slave gibt. Der Master kann Bytes hinschicken und auch Bytes abrufen. Der Slave kann von sich aus keine Daten senden, er muss warten bis Daten abgerufen werden.
Die Slave Programmierung ist ein wenig komplizierter als die übliche Master Programmierung. Im Bascom gabs aber irgendwo mal ein paar Beispiele, solltest du auch in der Hilfe finden.
Für C kannst du auch hier ins Wiki schaun unter http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc