sto cercando di capire meglio quello che hai scritto, temo di aver travisato... ma tu stai cercando di fare qualcosa che non si può fare in SQL... mischi logica di SQL e logica PHP in modo contorto...
Le condizioni nella clusola WHERE agiscono solo sui campi estratti o su una qualche funzione SQL. Tu stai applicando una condizione esterna all'SQL... il tuo database non può conoscere la mappatura dell'array a.

Soluzione 1)
Fai come ti ha detto satifal...
nella where lasci i controlli sulle date e poi ti fai una scansione con un ciclo in php per eliminare i risultati che non soddisfano la condizione

Soluzione 2)
sposti l'array a in una tabella (TAB_A) del database in cui saranno memorizzati i valori (campo, risultato), dove risultato è il valore 1/0. La tua query diventa una JOIN...


SELECT prono.id,prono.data,prono.campo,prono.descrizione FROM prono INNER JOIN TAB_A on prono.campo=TAB_A.campo WHERE TAB_A.risultato=1 AND prono.data>='$data_min' AND pronodata<='$data_max'

NB... La query non l'ho testata..