Paul Marks has a neat Python AGI script for Asterisk - google-voice-dialout.agi - that will login to your Google Voice account and place a call for you. This script is intended to allow you to place free outgoing calls from your home SIP phone (like a Cisco 7960 which is what I've got set up right now) using Google Voice and Gizmo5. Mario has a bunch of blog posts explaining different ways of doing this including a simpler setup with Google Talk, using the Jabber/Jingle support in Asterisk 1.8. His dial-plan also includes bridging of your outbound call and Google Voice callback so you needn't answer the call back from Google Voice.
Gizmo5 has since been acquired by Google and isn't accepting new sign-ups any more so if you didn't get an account earlier or need a second account to support a roommate or spouse's Google Voice number, you're out of luck there. However, there are other services available and I came across Sipgate in this Lifehacker post.
Sipgate has a help article that explains how to set up Asterisk to work with their service. Now, to make outgoing calls, I copied the basic dial plan for Asterisk from Mario's post with one little change to the Google Voice dialout script - change the value of phoneType to 2 instead of 7. From what I can tell 2 is for regular numbers, 7 is for Gizmo5 numbers and 9 is for Google Talk.
Credit: Recycle icon from Obsidian Dawn