tra
if(delayMotor) delay(delayMotor);
e
delay(delayMotor);
nel caso particolare dello 0 non vedo molta differenza...cioè mettere o no l'if a questo punto è più una cosa del tipo "quando fra un mese andrò a vedere il programma capisco meglio con l'if o senza l'if".
leggendo l'ultima frase mi sembra che il codice sia abbastanza efficiente anche perchè sono 3 righe di codice ci sarebbe poco da ottimizzare, e poi (rispondendo a quello che hai scritto tra parentesi) durante il delay il micro non fa niente già di suo non è una cosa opzionale (non so se mi sono spiegato)
comunque aspetta anche altri pareri più professionali che non fanno mai male

ps. riguardandolo direi che devi aprire la parentesi graffa dopo if(pin1 == HIGH) e chiuderla dopo digitalWrite(pin2, HIGH); se vuoi che l'if sia effettivo