Vielleicht wäre auch der Rest des Codes interessant. Ich würde jetzt spontan darauf tippen, das entweder das LCD oder I2C den gesamten Port "belegt", also in der Software der ganze Port angesprochen wird und nicht nur die einzelnen Pins.
Initialisisierst du vorher eigentlich die ganzen Register des ATmega16 ? Das könnte nämlich dazu führen, das der entsprechende Pin der Led zuerst als Eingang geschaltet ist und dann durch das LCD wieder zum Ausgang wird.

Du könntest also mal überprüfen ob beides funktioniert wenn du sie an komplett verschiedene Ports hängst. Sollte dies der Fall sein, müsste man im Quelltext mal nachschauen was da gemacht wird...

MfG Kjion