Is there a way to permanently turn off Google Maps until needed?
First, I suggest you stop using your task killers. They are draining your battery more than saving it. The System is restarting the services when they need to run which is causing battery usage.
Second, you are under the assumption that freeing up memory is a good thing. It is not. Freeing up memory is not going to decrease battery usage. What you really need to look for is the apps that use a lot of CPU cycles. This is what will drain your battery.
Android is based on Linux. Linux always wants to use all the memory available because free memory is wasted memory. The android system will take care of releasing memory of applications that are not in use so other applications can use it when needed.
Even if you try and kill applications that are running and taking up memory, the system will either restart these services/apps, which will cause battery drain because they probably have some syncing that happens when starting up, or just the CPU cycles that are used to initialize the application. Killing the applications will also cause the device to appear slow when trying to start applications because something that normally might be running now needs to be started back up before presenting you with the applications user interface.
Some things that will cause battery drain like GPS, wifi, bluetooth, and data usage are going to use your CPU a lot more to process the data that is being transmitted and received. Turning these off when not in use will save on a lot of battery drain. I have a bad battery in my device, it wont even charge past 94%, but I can get 12 or more hours out of my battery if I turn off these services when I don't need them.
I use google maps all the time, and in my battery stats its not even listed as an app using resources. My highest battery user is the Screen @ 31%, and the lowest shown is GMail @ 3%. I can assure you, google maps is not the cause of your battery drain. Using task killers is more likely the cause. As I said I use google maps for directions almost daily, and it isn't even in the top 10 list of apps that are using my battery.
More information on task killers from the Google Android Developers blog.

A common misunderstanding about Android multitasking is the difference between a process and an application. In Android these are not tightly coupled entities: applications may seem present to the user without an actual process currently running the app; multiple applications may share processes, or one application may make use of multiple processes depending on its needs; the process(es) of an application may be kept around by Android even when that application is not actively doing something.
The fact that you can see an application's process &quot;running&quot; does not mean the application is running or doing anything. It may simply be there because Android needed it at some point, and has decided that it would be best to keep it around in case it needs it again. Likewise, you may leave an application for a little bit and return to it from where you left off, and during that time Android may have needed to get rid of the process for other things.
A key to how Android handles applications in this way is that processes don't shut down cleanly. When the user leaves an application, its process is kept around in the background, allowing it to continue working (for example downloading web pages) if needed, and come immediately to the foreground if the user returns to it. If a device never runs out of memory, then Android will keep all of these processes around, truly leaving all applications &quot;running&quot; all of the time.
Of course, there is a limited amount of memory, and to accommodate this Android must decide when to get rid of processes that are not needed. This leads to Android's process lifecycle, the rules it uses to decide how important each process is and thus the next one that should be dropped. These rules are based on both how important a process is for the user's current experience, as well as how long it has been since the process was last needed by the user.
Once Android determines that it needs to remove a process, it does this brutally, simply force-killing it. The kernel can then immediately reclaim all resources needed by the process, without relying on that application being well written and responsive to a polite request to exit. Allowing the kernel to immediately reclaim application resources makes it a lot easier to avoid serious out of memory situations.
If a user later returns to an application that's been killed, Android needs a way to re-launch it in the same state as it was last seen, to preserve the &quot;all applications are running all of the time&quot; experience. This is done by keeping track of the parts of the application the user is aware of (the Activities), and re-starting them with information about the last state they were seen in. This last state is generated each time the user leaves that part of the application, not when it is killed, so that the kernel can later freely kill it without depending on the application to respond correctly at that point.
In some ways, Android's process management can be seen as a form of swap space: application processes represent a certain amount of in-use memory; when memory is low, some processes can be killed (swapped out); when those processes are needed again, they can be re-started from their last saved state (swapped in).

Here is another article talking about how Task killers will drain your battery.

Do not use Automatic Task Killing Software
To make a long story short, using auto-task killers can cause: excessive battery drain (as if the phone doesn’t drain a battery quick enough already),  the phone to overheat often and programs shutting down (crashing) randomly – programs you actually want to use. Stay away from these!

One thing that you could do if you are really set on &quot;stopping maps&quot; until you want to use it is use the Freeze option in titanium backup. This will essentially remove the application from the device and none of the services associated with it will ever start until you un-freeze it.