I've used Acrobits SoftPhone (link goes to their site, iTunes link below) for some time, thought admittedly very sparsely and only for the simplest of use cases, so, much of this is taken from their site.
Use the OS' Address Book: Yep, it maintains it's own "quick list" (favorites) however.
and global Recent Calls list: Nope, maintains it's own (pretty sure this one is impossible anyways, "private APIs" and all that).
Load as fast as Phone.app: I call this subjective, because Phone.app is always running, which gives it an inherit speedup compared to anything else. Acro's SoftPhone does support the VoIP backgrounding, and even push, so you can "Swipe To Answer", but it still takes at least a couple seconds to do. (At least that's how it feels, comparatively speaking.)
International Number Support: I think this is not so much a client feature as much as it is a feature of your server you SIP register to. This one is unknown to me as I've never attempted to call an international (outside the US) number.
Allow Recording: Yes. Upon tapping the record button, a voice announcement is played, and then conversation is recorded and able to be replayed from the app.
Skype: Nope
Google Voice: Yep, but to what extent, I am unsure. Per their website:
GoogleVoice users: Though we have integrated GoogleVoice, Acrobits Softphone's main use is as a SIP client. You can setup Acrobits Softphone to initiate GoogleVoice calls through other types of numbers, but to get the full functionality of Acrobits Softphone, you need to have GoogleVoice linked to a SIP Account.
Rest: If it's SIP, it should work.
Bonus: It supports ZRTP. Zimmerman's encrypted RTP protocol for SIP calls. Free for incoming calls, in-app purchase for initiating calls using it.
iTunes Link: Acrobits Softphone.
The only way to stop from automatically joining a preferred, or known, wi-fi network, is to not store the password for that network and type it in each time without clicking the "save password" button.
As soon as you save the password the network will be added to the preferred list even if the remember networks button isn't selected, and it will connect to it automatically (or rather it will connect to the first one on the list that is finds in the order in which you have them listed).
Best Answer
Rather than manually managing when you are connected to untrusted WiFi access points, you should consider setting up a VPN connection that is automatically enabled when you connect to WiFi. That will protect your data - even when on a public WiFi network. At that point, you don't need to worry as much about whether WiFi is on or off.