For your question # 6 above, you could have the micro turn on the second relay while the first one is still on, then turn off the first. There will be an overlap and the motor will stay running. The second battery will try to charge the first battery while the overlap occurs, so this will have to be accounted for in the program/circuitry. What you may have to do is place a loop in the programming to "ignore" the first battery voltage for a period of time after the program has decided to switch to a new battery. Since the first battery will rise in voltage when the second is connected, the program may think the battery is OK, and try to switch back, ending up with a neverending cycle, depending on how the program is written. You could place a diode in series with each battery output to prevent this, but you lose 0.7 volts or so, in doing this. For the comparators, you would have to add what is called hysterisis, and maybe even this would not be enough, since the first battery will take a short period of time to settle back to the old lower voltage.
Hope this makes sense.