uint8_t outSet(volatile uint8_t *port, uint8_t pin, uint8_t level) {

Außerdem:

if (*port == PORTA) { *DDR = DDRA; }
->
if (port == &PORTA) { DDR = &DDRA; }

Aber wozu das, du verwendest DDR doch gar nicht?