Q1: It is possible. It requires that the database servers be configured to allow remote connections, that they will accept such a connection from the IP where your script is running, and that you have the required info to connect (port number, user/password).
As far as the other questions, that may depend on what you really need to do, how often, the amount of data per transaction, etc. I've not really worked with SOAP per se, so I don't know enough details as to its efficiency. Maybe all you need is to generate a SQL file that can be FTP'ed to the target server where a cron job could execute it, or the same with a CSV file, or perhaps SOAP would be ideal for your needs.