automatically choose voip service when dialing?
This is a feature of gingerbread, if you're using the built in sip client.  In Settings -> Call settings there is a setting called "Use Internet Calling" which you can set to "Only for Internet Calls".  Then if the contact has a sip number, it will call that directly sip->sip instead of going out over the phone connection.