I have 2 ESXi hosts in two separate sites, 1 server in each site. Do I need a separate license for each of those sites?
So the two servers must be remotely accessible, which may not be possible. There are two back to back firewalls at one location. I have been launching the free version from a Linux server using a crontab. Can I use the --host option to connect to both locations if I can figure out how to connect to the one remote location.
You can use one cron, whatever is more suitable for you. If you use a Linux cron, you don't need to use the --host option, just create the jobs, store them in one local bash script file at the ESXi server and launch that file from the outer cron. You can also run the command directly, but this has the disadvantage of having to escape the command properly. No rocket science anyway.
Whatever accesibility problems you may encounter is part of a different story. You might find yourself in a situation in which you need two different crons running on each server, but you can always open a port in the firewall.