Es ist schön festzustellen, dass sich immer mehr für AVRs begeistern können.
Das wird ja fast zum Volkssport Bild  

Du machst einige unnötige Dinge in Deinem Code.

Dein Programm startet ja in der main(), zu diesem Zeitpunkt ist DDRB= 0000.0000 (binär).
In der setPins() setzt du dann die B2 und B3 0, obwohl sie es schon sind, tut also nicht not Bild  
Das selbe Spiel am Ende der setPins(), PORTD ist bereits 0000.0000 und muss nicht extra genullt werden. Bild  

Außerdem kannst Du Dir die beiden Variablen sparen Bild  
Code:
void eventhandler()
{
  if((PINB & (1 << PB2)) ) {
    PORTD |= 1<<PD6;               /* LED on */
    PORTD &= ~(1<<PD7);            /* LED off */    
  }
  
  if((PINB & (1 << PB3)) ){
    PORTD &= ~(1<<PD6);            /* LED off */     
    PORTD |= 1<<PD7;               /* LED on */
  
  }
  
}
Ein kleiner Tipp am Rande, diese schönen Kästchen im Code sind gruselig.
Fang am besten jetzt schon mit einem sauberen Schreibstiel an Bild