Using OpenDNS for the 3g connection
You can't change a data connection's IP settings, unless you


are rooted, then you can use Linux-based approaches (e.g. iptables)
use an app that creates a VPN connection to a remote server that uses OpenDNS


Now, VPN on boot depends on the app you're using. I'm yet to encounter an app that creates a VPN tunnel on boot.

Update: For the record, a lot of apps these days create VPN tunnels on boot.