If single characters have a defined meaning, and there are no multi-character commands, it can be done with no library super efficiently. Just remember that you can't do anything slow in the ISR.
I think you'd want
UCSRA=0x02;
UCSRB=0x90;
UCSRC=0x06;
UBRR=207; //9600 baud at 16 MHz.
ISR(USART_RX_vect) {
unsigned char c = UDR;
if (c =='a') digitalWrite(PIN_LOW);
//and so on
}