Transparent Call Proxy
No, you can't do this transparently. The dialer app talks directly to the TelephonyManager in Android, which is integrated with the driver for the phone baseband. Even if you could do this, it would only work for outgoing calls anyway: incoming calls would arrive at your phone, and by that point it's too late for an app to do something else with them.

Your best bet is installing a VOIP app and using that. You also have to tell all your wife's contacts to use the VOIP number instead of her phone number (or set up call forwarding with the carrier). But if you're having signal problems, it seems likely you'll have just the same problem with VOIP, unless you're always on Wi-Fi.