Sicher dass der Taster beim Drücken 5V anlegt? Dann bringts nichts, den Pullup einzuschalten; in dem Fall sind sonst immer 5V am Pin. Entweder vom internen Pullup oder vom Taster aussen.

Wenn der Pullup verwendet werden soll und der Taster auf Masse schalten soll, dann würde die if stimmen, d.h. beim Drücken des Tasters ist die if-Abfrage falsch (weil der Pin am Taster Low ist) und die Anweisung im else-Teil wird ausgeführt (C0 einschalten => LED leuchtet).

Falls er bei 5V schaltet, dann wird C0 in der if auf Low gesetzt: PORTC&= ~(1<<PC0); d.h. die LED geht aus, da dann an beiden LED-Anschlüssen 0V anliegen.

Also dein Programm mal kommentiert:
Code:
if (PINC & (1<<PINC3))  // PinC3 = High = 5V?
{
  PORTC&= ~(1<<PC0);  // Wenn ja: PC0 = Low, LED = Aus
}
else
{
  PORTC|=(1<<PC0);  // Wenn nein: PC0 = High, LED = An
}