You can do it with a USB thumbdrive (I'm assuming there is a hardware switch on the USB drive to write-protect it).
First, you need to install the Cron package (easier to do this with GUI).
Next use the Crontab to set a job at midnight?, daily, to run a shutdown with restart command for the reboot.
Command will be: shutdown -r now
Go to diagnostics -> NanoBSD. Disable all Backup jobs (if any) so pfSense doesn't try to write to disk.
After you are done with all that, re-enable the Write protect.
To be honest, this is probably not required at all. What you should focus on is to secure your hosted services, enforce good passwords policies, and keep your clients/ servers actively protected with anti-malware software suites.
Further, don't expose the WebGUI/ Telnet/ SSH for the pfSense box to the internet.
In all likelihood, it will be your hosted services (servers and such) that get compromised rather than the pfSense box itself. You can setup SNORT to further protect such hosts.