No. The add-on creates a *new* database. Once the operation completes, it'll clean up older databases, but only databases that have been created by the Migrate add-on.
Yes. If the remote database is in use, it's possible that the data changes during a 'pull'-action. E.g. a user may be adding blocks to a page, or a form may be submitted. In order to maximize data integrity, consider putting the remote website in 'Maintenance Mode'. Also, inspect whether Automated Jobs are scheduled and or running.
On the website you want to pull to and the website you want to pull from. Don't worry about the licensing, once you buy this add-on, you may use it on all your websites.
Because I can't guarantee the working if the remote database is being used. I also don't want to risk any chance of data loss. And a final reason is that creating a database on a production server, is probably not allowed most of the times. I'd recommend you to use a database manager or a tool like mysqldump if you want to push a database.
Because the add-on creates a new database. It uses the profile handle and a date time value to make the database name unique, each time the pull command is issued.
If you're a Windows user, you might want to look into the MySQL global variables. It's not related to this add-on though, but there are plenty of threads in the forums about this.
If you get this error: "Got an error reading communication packets", try to optimize MySQL, or restart the service to free memory.