Here are some general ideas your friend could try. None of them are fully fleshed-out solutions, but they may point him in the right direction.
If you can install custom Roms, you could set one up that automatically does a factory reset when the device is rebooted. And you could easily use a scripting app to automatically reboot the device at a certain time (ie 3AM).
Tweaked Stock Rom
As long as your device(s) can get root, you could temporarily root them and add a script or app to the system partition. This way, you could do a factory reset without wiping out your script. Once it is on the system partition, you could also remove root if you want.
There is an XDA Thread that has some useful scripts you could use. One of them, ROMReset, should be able to reset the device to factory settings when run. If you have Tasker or another automation app (also installed on the system partition), you could simply call this script every day at 3AM to reset the device.
Note: This also requires a custom recovery. With the scripts in the link, you specifically need ClockWorkMod (CWM).
Limited User Profiles
Instead of resetting the entire device, you could set up a limited user account that lacks the ability to install apps. Then figure out how to automatically remove and readd the user (at a certain time of the day).
There doesn't seem to be anything existing to easily provide a solution. Even for desktop computers, you have to install custom software (such as Deep Freeze) in order to get a similar result.
You will need to make something custom in order for everything to be streamlined.