Found this App on XDA, been using it for about 3 weeks now, and it has really improved my battery performance.
Manila Dial-up Enabler/Disabler v0.6
You can disable data completely from the first menu page, and you can configure connection timeouts which turns off data after you set the length of time of inactivity.
I've been using the 30sec selection. The others don't seem to work as well. It will disconnect about 97% of the time. Sometimes, for an unknown reason, you have to manually turn off by touching the 3G icon and pressing the disconnect button. I find that it sticks mostly after an email DL or Text DL, but it's effective most of the time.
There is also an item on the menu that will display any active data connections. Many times Apps are working in the background updating or sending info out on the WEB without your knowledge, this will list them when they are active.
The cab, along with the discussion thread is available here:
http://forum.xda-developers.com/showthread.php?t=610657