Creo que aun no lo entiendes. Puedes usar los A0...A5 pero como digitales. Cuando los defines los usas como digitales de este modo.
// en el setup
pinMode(A0, INPUT);
//// en el loop
// al leer lees como entrada digital
int status = digitalRed(A0);
Espero que se comprenda este punto.
Si, claro que esta bien, no hay porque complicarse. De hecho cualquier librería termina usando los AT, asi que si los borra esta mas que bien.
La lista blanca es una lista de números permitidos. Cada vez que recibes un msg chequeas contra tu lista y autorizas o no si ese número puede hacer cambios.
Tenerlo abierto es una falla de seguridad a tu alarma. Algo que se te pasó por alto, pero ya estas en camino.
Entonces, varias maneras de implementarlo desde la menos flexible a la mas flexible.
La menos sería lista de números fijos como un array de String si quieres y luego cuando recibes un número haces un ciclo, chequeas y tendras un Si o No a ese chequeo.
El método mas flexibles sea con SD o EEPROM (te recomiendo EEPROM xq seran pocos números) es que escribas una rutina de tu número administrador que permita ingresar numeros de la lista blanca y asi hacerla varible, claro que tendras que poner un ABM o sea Altas Bajas y Modificaciones.
Alta es que das de alta un numero
Baja es que lo borras
Modificaciones cuando cometas errores de tipeo.
Tienes trabajo