sowas? Ich hoffe ich hab deine Frage richtig verstanden.

Code:
while (1)
{
    if (PINB && (1<<PB3))
    {
        if (++button_counter > DEBOUNCE_TIME )
        {
            PORTB ^= (1<<PB4);
        }
    }
    else 
        button_counter = 0;
}
habs aber nich getestet, wenn ich nich ganz verwirrt bin grade sollte es funktionieren. DEBOUNCE_TIME darfst du selbst bestimmen. Das ist uebrigens die Tastenentprellung.