In un'istruzione preparata, l'SQL è statico di proposito. Il numero di parametri non può variare una volta preparata la dichiarazione.
Ma sarebbe facile per il tuo codice inviare il giusto numero di parametri a seconda dell'istruzione. Potresti aggiungere una variabile per il contatore dei parametri e un array php dinamico da passare a pg_execute invece di valori letterali hardcoded. E verrebbero incrementati/popolati all'interno di if (isset(...))
filiali.