Easy Timed Reboot is a fast and free application which reboots your (rooted) phone at the time you specify. This program will only work if you have rooted your phone. Android does not allow programs on non-rooted phones to reboot. There are many reasons you may want to reboot your phone at a certain time, whether from a program that leaks memory or the need for a manual carrier test etc. You may be surprised to find your phone running much faster in day to day use after a reboot.
You can download it from the Android Market here.
Update 4/2012 This is now open source and hosted on GitHub. Check it out at my GitHub page.