You will have a challenge making bigger boxes handle lots of outbound agents. Remember that more cpus does not give you a 2nd I/O path or frontside bus. Using SSD drives may help reduce the i/o time, but not to the point of doubling agents. Certainly something you should test, of course.
But while we're on the subject, recovering bandwidth via g729 is nice, but will push your CPUs harder, once again challenging your goal of more agents per box. Same thing with recording all calls. This challenges the larger box with more processors concept as well. Look to have plenty of memory and fast drives to move these recordings around quickly.
Hyperthreading has never had much of a noticeable difference when we've played with it. "Fooling" an OS into believing there are more processors available is probably useful under some circumstances, but when faults begin to occur because those fake processors are not really there ... the system overloads just about the same time as it would with half the processors, but all real. However, certainly something you'll want to test on your own to confirm our results!
Partitioning, however, is a completely different story. You do not want large slow hard drives. You want tiny fast ones instead. Do not store any data on these hard drives. Push all recordings to a non-vicidial based web/ftp server and back that server up reliably. This means that any Vicidial server is basically disposable (in case of death, others can fill in and there is no data loss involved!). Perhaps moving the monster sata drives onto some other machine outside vicidial's system would be a good idea. That would also offload the web service for listening to recordings from the vicidial hardware.
Be sure someone is harvesting/pruning the DB regularly. Massive logs can severely hinder response time once the system is up and running. Pushing these logs off onto an archive DB server (for future reporting) is necessary to maintain speed on the system over time. So have a plant to push those records off into archive tables and eventually push the archive tables to another machine entirely for permanent storage (or just delete them).
Consider, also, using a replicated DB for reporting purposes to offload any reporting functions from the Live DB server in Vicidial. But remember that you can only have one Vicidial DB which must be the replication master if replicating. you cannot use the replication slaves for anything beyond reporting, they cannot control dialers because the data usage in vicidial is much too fast. These are not banking transactions, they are instantaneous hi-res timing events that occur at the nanosecond level. No way replication or a mysql cluster can keep up with that. ONE db server per cluster.
that is not to say it would be impossible to build a multi-cluster system that shared information from a central DB, if you properly segregate equipment and personnel. that's actually quite possible.