The following scripts can be saved in binary format:
*.material
*.program
*.compositor
*.particle
There is no need for any code change. Just include this plugin to your plugins.cfg and it will automatically save the compiled script to disk when you run it the first time. Then on subsequent runs, the compiled version would be used from the cache, if available. I noticed that the the loading time of the sample browser was reduced from 7 seconds to 4.5 in my Core i7.
The text based scripts can also be replaced by the compiled version by removing their entries and adding the cache folder in resources.cfg. This could be useful when you dont want end-users to modify your scripts

Code released under MIT license
http://code.google.com/p/ogre-script-serializer/
The default location of the cache directory is ".scriptCache" in the working directory. This directory would be created if its unavailable.
The code was tested to an extent. The AST generated from the script compiler matches with one save and loaded from disk, for all the scripts in the sample media folder. All samples seem to work fine.
Pending Stuff:
1. [s]The compiled version should be discarded whenever the source file is modified. We can save the MD5 hash of the source file in the binary header and compare before reloading later. Or use the timestamp approach?[/s] - DONE
2. [s]Save/Load compiled shaders to disk[/s] - Already implemented in 1.8 by Assaf Raman. Using this lib in the plugin
EDIT 1: Check this post for details on the new update