Expanding on my comment above....
See the comment by user kerma at this related StackFlow article
His little command line app at https://github.com/kerma/defaultbrowser does what you need.
He provided the source code but it was designed for 10.9. A small change can make it to compile on 10.6 as well. I tested it on my system and it worked correctly.
All you then need to do is run it like this...
#defaultbrowser -set firefox
#defaultbrowser -set safari
The changes I made, to make it work with 10.6, were
a) Add the Cocoa framework
b) Make the following code change...
Replace
NSString *split = HTTPHandlers[i];
with
NSString *split = [HTTPHandlers objectAtIndex:i];
EDIT:
As was pointed out, the code does not change the default browser for HTTPS. To add that functionality, I added the following lines...
Find the first line below, and add the second one for https
CFStringRef urlschemeref = ( CFStringRef)@"http";
CFStringRef urlschemeref2 = ( CFStringRef)@"https";
and the same here
OSStatus s = LSSetDefaultHandlerForURLScheme(urlschemeref, newHandler);
OSStatus s2 = LSSetDefaultHandlerForURLScheme(urlschemeref2, newHandler);
Finally change
if (s == 0) {
to
if (s == 0 && s2 == 0) {
Regarding the scheduling, since they know what cron is, I assume they know how to make the necessary changes. If not, a google search would provide the necessary answers. So the cron lines would be...
0 9 0 0 1-5 /path/to/app/defaultbrowser -set chrome
0 18 0 0 1-5 /path/to/app/defaultbrowser -set safari
BUT, a much better way, because cron tasks will not run when system is powered down, is to have a means to detect location (like wifi connection) and change according to that. So if the cron job is set at 9am and you arrive late to work, you powerup your device at 9:15am nothing will happen...
So, as discussed here, I would recommend that they install ControlPlane or something like it, and schedule the change upon connection to the wifi/network instead.
Hope that helped.