This is theoretically possible but the effort to do this properly is quite high if not impossible. In ideal case some would like to set up the amount of CPU cycles spent for a dedicated VM. So if you want to configure the VM to reflect a 500MHz CPU and your host CPU has 2GHz, the VM should be executed with every fourth CPU cycle. Which is of course not possible due to the scheduling overhead. You can argue that we could implement in a way that the CPU is working for 10,000 cycles on the guest, then for 30,000 cycles doing some other jobs and so on. This is easier to do but this will not meet your requirements as the busy loop in the guest might only take 5,000 cycles.
The only option you currently have is to slowdown the guest significantly by forcing the complete guest code to be recompiled. You can achieve that by specifying the -norawr0 -norawr3
command line options to VBoxSDL.