Buenas,
Viendo la lista de puntos de control que tienes, vas a tener que usar dos.
Asi de primeras cuento 23 pines de entrada salida sin contar las pantallas.
Yo soy de la escuela de siempre tener la simplicidad en mente que luego se vuelve un quebradero de cabeza cuando las cosas no funcionan. Si quieres usar wifi yo sinceramente no metería pantallas y viceversa ahora mismo es redundante tener los dos y ademas viene con un coste muy alto en pines y complejidad. Es simplemente mi manera de verlo, por experiencias pasadas.
Los arduinos no van muy bien en el aspecto de sacar datos a red (tienes los shields de LAN, pero requiren bastante programación para dejarlo funcional), para eso creo que te puede ir mejor un ESP8266.
Te vendo mi bilbia.
El concepto es muy simple cada ESP tiene 10 IOs digitales, estos nodos tienen codigo justo para recibir ordenes y devolver estado nada mas.
Todo la comunicacion va a traves del protocolo MQTT, entre los nodos y la central (broker MQTT). Con esto lo que ganas es escalabilidad sin tener que complicar el codigo.
El codigo lo haces con NodeRed que es una solucion para programar de manera grafica en base a eventos. Si pasa esto haz esto otro. Node red ya dispone de herramientas para publicar un "salpicadero" donde se puede ir añadiendo interuptores, graficas, informacion, notificaciones etc...
En mi caso el broker mqtt y el node red estan en una raspberry pi en mi casa. Pero hay soluciones online gratis... problema... si te quedas sin internet te quedas sin el invento.
Esto seria un esquema super simple que he dibjuado, alli ves la consola de node red y como se veria desde el movil o un navegador..
Un saludo.