Lettura impostazioni da EEPROM

Uhm. con Canon D5(9) tu istanzi una nuova classe D5 di tipo Canon. Messa al di fuori del setup diventa una dichiarazione visibile globalmente. Se la metti nel setup, è ovvio che tu dal loop non la veda più. Ora capisco cosa vuoi dire.
Se non chiami nessun metodo all'interno di setup, potresti da qui leggere la Eeprom e poi potresti spostare l'istanziamento della classe dentro al loop, relegando però il resto del codice in un altro loop infinito in modo da creare una sezione di codice eseguita solo 1 volta.

#include <multiCameraIrControl.h>

void setup()
{
}

void loop()
{
  Canon D5(9);
  do { 
    D5.shutterNow();
    delay(5000);
    D5.shutterDelayed();
    delay(5000);
  } while (1); //nuovo ciclo infinito
}

Tieni presente però che così poi D5 non è più visibile al di fuori di loop, quindi se dal loop chiami una funzione, questa non deve e no può accedere a D5.