This is my setup, I don't know if it would be an acceptable solution for you:
Google Voice number, Gizmo account, SJPhone loaded on the phone.
SJPhone is programmed with my Gizmo number. If I make an outgoing call from GV, the call goes through SJPhone (over Wifi) and shows my GV number.
I have set that up specifically so that I would be able to make calls from overseas over wifi (on a future trip). I tested it a couple of times from here, it worked just fine.
SJPhone:
http://www.sjphone.org/preview/SJpho...wsCE(preview)/ (You want the WM5 version)