OK, good news......it appears that these units use std issue heating elements with 1" NPT threads, so a 12V element should screw right in.
These are pretty straightforward, basically a regular sized water heater shrunk down to pint-size. It uses a std TP relief valve and has a plastic drain valve and 1/2" NPT water inlet and outlet threads.
The thermostat looks quite simple as it just opens the circuit when the set temp is reached, so this should work fine on 12VDC.
I'm going to order a 12V heater element (probably tonight) and test this unit with a 12V supply.
DISCLAIMER: Modifying water heaters is potentially very dangerous and may result in severe injury or death to you or your loved ones ......if you don't understand what you are doing please don't try this at home.
My biggest issue is finding a space to put this; looks like I need to modify some cabinetry....
The little pint-sized unit......
Very simple wiring, mains power to thermostat and then heating element (everything series connected)
Setting the temp
....and (finally!) the heating element
12V heater elements are readily available in 300W and 600W
Here are the simplified thermodynamics calculations for how long and how much battery it will take to heat up 2.5 gallons of water:
(this is a simplified adiabatic calculation, which means there is no heat loss from the heater, ie perfect insulation....reality will be worse than this)
assumptions:
water weighs about 8lbs/gallon, so 2.5 gallons of water weighs about 20 lbs
specific heat capacity (Cp) of water is 1 btu/(lb degree F)
let's calculate the energy required to heat 2.5 gallons of water from 70 deg F to 110 deg F (from room temp to luke warm)....so delta T=40 deg F
20 lbs water*(1 btu/(lb degree F)*(40 degrees F)=800 btu
800 btu*(.29 watt-hours/btu)=232 watt-hours
232 watt-hrs/300W=.77 hrs,
so about 45 minutes, assuming no heat loss through the jacket/insulation
...and 300W/12V=25 amps
25 amps used for .77 hrs is .25*.77=
19.25 amp-hours of battery capacity