byte con stato dei pin input

Potresti anche semplificare, dato che la comparazione con HIGH equivale a fare così:

if (digitalRead(bit0)){
    bitSet(temp_code, 0);
} else { ...

PS:
comunque io semplificherei con un for visto che i pin che leggi sono tutti in ordine