Fallo en código intentando encender 8 leds a través de Internet..

Hola, interesante el proyecto, en todo caso una cosa, no es lo mismo la "memoria" donde se almacena el sketch, que la memoria del arduino propiamente dicho, de hecho esta es mucho mas pequeña, en torno a los 2kb si no recuerdo mal. Por mi experiencia con la ethernet ENC tiene problemas de buffer de memoria, y en otra idea que estamos desarrollando (envio de xml a openhab) hemos encontrado problemas parecidos al intentar mantener todo activo.

No te puedo ayudar mucho con tu codigo, pero si te puedo decir que con Souliss puedes hacer eso y mucho mas, y ya esta desarrollada la app, el sketch para arduino y solo es cuestion de "configurarlo" a tu gusto en unos pequeños pasos.
Sin que sirva para menospreciar tu trabajo te recomiendo que le heches un vistazo.

http://forum.arduino.cc/index.php?topic=223723.0

Para el tema de la alimentacion no es necesario pedirle al Arduino que alimente todos los reles, la mayoria de modulos traen una toma especifica para meterle 5v externos a los reles, y evitar asi la limitacion de intensidad que tiene Arduino.

Del codigo que he visto, efectivamente falta optimizarlo mucho con arrays y evitar el uso de Strings para el ON OFF por ejemplo, esto seria una variable boolean 0 1 que luego el codigo "convierte" a ON OFF en el momento de enviar la linea al Cliente.

Salu2 y buen Karma, espero haber sido de ayuda.