Thanks for the suggestions.
to point 1, the timers are now all set to byte with a few other variables only holding a status 0 or 1.
to point 2 changed to byte as well
to point 3 the Serial.println statement, I must have missed it when I commented out all the other Serial print statements, done as well.
to point 4
if(analogRead(lightSensor) > 0 &&
analogRead(lightSensor) < 1024){ //checking if the reading
I took it out. The idea was if something goes wrong with the photocell and some readings come which are off the scope, the lights be switched on anyway.
point 5 I am currently working on.
Uploading the changed sketch changed the behavior in so far that everything is resetting itself every 30 seconds.
I guess saving another few bytes on point 5 might get everything working again.
What I still not understand is the fact that everything was working before I started to do the indicated changes. And is there a way of managing the memory since I am still in need to implement a menu to change the timers?