You seem to have come quite a way from your first thoughts on this project.
You've made a great effort, and I see no reason it won't work. I have some comments though:
You've chosen an Atmeg168-20AU but appear to be using the internal RC clock, with external ICSP for programming. Why would you use a $3 micro when you can buy a whole board laid out (Arduino Nano) with both a bootloader and ICSP support built in. You could lay out your PCB using the Nano as a solder in place component, and get a better (low power controller, more Flash, more RAM, Power regulator, USB serial IF, LEDs and reset switch) solution for about $3 on Ebay. You don't have to use the Arduino environment to program it, you can overwrite the bootloader, so there does not appear to be any downside. The PCB complexity would then be significantly reduced with no loss of functionality or choices for the project.
Your Level Alarm and Moist signals are raw I/O pins taken off board. I'm always against taking unprotected I/O pins off board into wiring, there is always risk where a short might blow your I/O structure or controller. In this case your connector has both a raw I/O pin and 12 V in it for the Level Alarm.
D3 does not need to be Schottky. D2 does not net to be Schottky, and in all probability is not required at all (assuming your pump is a submersible BLDC type).