Is this function in built? I'd like two VMs to be power off, and then on automatically at 1am every day(they are running non persistent disks, restarting as a guest doesn't make it go back to how it was). Is it possible?

Are you trying to shutdown the VMs or the actual ESXi host? I have a script which can shutdown an ESXi server remotely. When the script initiates the shutdown, the VMs will be shutdown first of course followed by the actual host. In order to turn it back on, just use a Wake on Lan script.