All that is doable and as always there are many ways to do it. The guys above have presented some good info so I'll plug my pet idea.
I would use a network of Mega1284-based "Arduinos" connected with RS-485 in a redundant-ring topology. This is very robust and the ring topology allows you to remove/add/replace nodes or handle line faults/dead nodes without bringing the network down.
I would then add a custom bootloader to these 1284s that allows nodes to be modified/upgraded from a central point so you don't have to bring them back to base or take your laptop out to the shed.
I would also write a multi-master protocol based on the publishing/subscribing model which will make the application coding easier. For example a node with an LCD display that showed certain data could be duplicated and many of them could be placed around the network. Need another display in the garage, just plug one in using exactly the same code as the others.
I would then add a wireless gateway node to allow access to areas where running wires is difficult.
Whoa hang on...just by coincidence that's exactly what I'm working on now
It's early days though, I've not written a single line of code but am just about to send PCBs off to be made.
I don't really understand the "excess solar power"
Once your batteries are charged the power generated by the panels is wasted, if you can put it to good use that's good.
I can do the programming, but am I deluding myself?
I doubt it, once you get back into the practice of programming you'll figure it out. Just don't try to do everything at once.