I've also wondered about using a spare battery (marine or automotive) to run the engine heater via an inverter. I ran a series of calculations and came up with...
The bottom line:
Using an a/c inverter: Assuming a 90 minute reserve capacity specification in my car battery, my 125 Watt (AC) heater would run about 3 hours before running the battery down to 10.5 volts. The battery capacity spec is rated at 80 ºF so it would be less in cold weather. If your heater is 2x my wattage, the battery will run about 1.5 hours (less in cold weather).
I have a spare battery that is a larger size, might do the job. If you have a larger heater, 300 watts or more you might want two batteries in parallel to run the heater. In any case, use a SPARE battery, not the one that needs to start your car! Charge up the spare(s) at home, of course.
Whenever I junk an old car I keep the battery. Those spares have come in handy for various purposes; I recommend you do it if you have room to keep the spare(s).
Calculations:
Please, someone with an electrical engineering degree, double check these calcs!
First I converted the heater's watt rating to amps of current.
Ohms Law says: Watts = Amps * Volts, or thus Amps = Watts / Volts. So a 100 Watt preheater draws about 0.83 Amps, assuming 120 Volts. A 200 W heater will draw double that, etc. My 125W heater draws just over 1 amp.
Powering the heater from 12 volts DC, you need about 11 amps of 12V DC to generate 1 amp of 120 volt AC
(my source; see section "DC load"). Working strictly from Ohm's Law you'd need 10 amps but the AC inverter is not perfectly efficient, thus 11 amps DC per each amp AC. So for my 125W heater (1A) * 11 = 11 amps when running off 12V.
How long will the battery hold up driving that load?
Batteries for my Civic have a reserve capacity specification of about 90 minutes. That will vary by battery size and model but it's a decent starting point.
Here's the definition of Reserve Capacity for automotive batteries:
The number of minutes a battery at 80 degrees F can be discharged at 25 amps and maintain a voltage of 10.5 volts for a 12 volt battery.
So with 90-minute "reserve" you could run a 25A load for 90 minutes. My load is about 11A so I could run it for a bit more than 180 minutes, three hours. But if you need an engine preheater, it's likely not 80 degrees outside. So your capacity in winter would be less than that.