The only changes that need to be made is the F_CPU speed setting. This is done in the MAKEFILE for the bootloader and in boards.txt for each cpu. The core file take care of the cpu speeds from that. No changes required.
I did have a problem with the the F_CPU=14.7456, some of the macros needed to be changed else it drifted 20 minutes in 8 hours.
I have a new web page with all of this stuff. I should have my core files up there later tongihthttp://www.arduino-avr.com/
The reason I ask is, if I have a project which uses say 5 processors, and I want to use the main one at 20Mhz but the other 4 at 16Mhz, am I going to have to modify the arduino IDE files in some way each time I want to program the 20Mhz and change it back to program the 16Mhz ones?
WanaGo, the ONLY thing you would have to do is to create a new entry in the "boards.txt" file that has the CPU SPEED changed to 20 mhz, the core files take care of the rest. You would just have to select which ever "board" you are currently using.
If anyone knows of other boards or CPUs that are available, let me know and I will add them to my test suite.