The short answer to your question is: yes and perhaps a USB drive to back up to, if you want to go further then back it up to a second PC that has the drive shared over a network and/or online storage such as Dropbox.
The long answer is that perhaps you should take an analytical look at how your computer's being used and how you can change it to prevent having to reinstall your system in such a short time-frame.
You could tell me the reasons and we could go from there, but what I'll also do is tell you how I run my system to prevent this, though granted this isn't necessarily how you can set yours up.
Firstly the computer hardware, I run at least three hard drives. Primary hard drive is the fastest (either 10000rpm+ or SSD) and has installed the operating system, swap/page file and any software that defaults to install to c:\program files. If you want to go a bit advanced this folder can be changed to default to a different drive but I find that some older software doesn't like this.
The operating system has the Administrator account enabled and passworded, also it has a secondary user account. This means I run as the standard user all the time and when I need drivers or software installing I 'elevate' to the administrator (windows vista/7) or switch users (windows 95/98/xp/2000).
This prevents the majority of spyware/adware/spam from being installed and adds a level of security to your system files.
Now I said that I run three hard drives, what are the other two for?
The second hard drive is where I store any downloads and temporary files. If I'm running Second Life (stop sniggering) or Adobe Photoshop I have this set as the temporary location.
If you're working from one drive, then that read head and SATA/IDE channel is switching between the page file, the temporary location and the program files. You're increasing data throughput and speed by utilising the 'parallel' data access from two drives, the bottleneck in speed is then elsewhere or pretty much non existent.
The third drive is where I install my games to, Steam doesn't need to have the games re-installed once they're downloaded or most other games. It's a bit of a misconception that they do (though admitedly some do).
If you've had to rebuild your system drive (which in this case is the first) you'll have your game 'save games' in your 'My Documents' on the second drive and your games on the third. Barely anything to re-install as it'll find everything again.
With these setups I barely have to rebuild the system and when I do it's very minimal.
If you DO have to rebuild the system, perhaps first you just need to make a new user account. A lot of 'slow down' and issues are profile based. So perhaps just create a new user and copy files across. Files are usually stored in C:\Documents and Settings or C:\Users (WinXP former, Win7/Vista latter).
Alternatively you can just copy your profile to another drive and then re-setup the OS if you really need to, but bear in mind that it may copy over any problems with it.
Consider what you're doing with the computer once it's setup this way. I keep my system mainly as a multimedia and gaming PC. Mixing this with development is a bad idea.
Development work installs debuggers and debugging library files which tend to be slower than 'retail'. I work on development either on another computer entirely (my netbook) or within a virtual machine. VMWare's 'VMWare Server' is completely free and you can install an operating system within it, or there's Microsoft's 'Virtual PC'.
This keeps it separate and portable. A lot of slow down arises with computers when software's in/re/uninstalled a lot. This could also be done in a virtual environment to cut down on fragmentation.
There's also the point that you might want to use a virtual machine to browse the internet, if it gets infected with spyware, just delete or format the virtual machine. That way you your main system and your important files aren't affected.
So to summarise, my key areas to assist are:
- Keep computer user and administrator profiles separate
- Store data files physically separate either for security or efficiency
- Maximise parallel data transfer or processing
- Virtualise or use another computer for greatly different tasks