Re: Lifespan of (unused) computer parts
As long as they're kept away from sources of static and dust, they'll be fine for many years I would say. I mean, I've had some of the parts i've built other PCs from in the shed for multiple years unused. Things like static, dust and moisture can destroy components, but in an environment free from those things, it will be a fair old while. Most computer components are made from alloys, metals or plastic with silicon chips. By their very nature, these don't corrode on their own, and don't deteriorate on their own.
If you store them in a low moisture area in anti-static packaging, i'd say they'll be fine for a few years at least.
Onto the other part of the question... I wouldn't say it's entirely worth storing up spares; considering that technology moves on so fast, you'll probably end up with a bunch of obsolete parts you'll never use. You can almost guarantee at some point you'll want to run a new program or new device in a few years and your PC won't be up to it. More to the point, I can't see much changing in terms of hard drive technologies, So I wouldn't bother stashing up those, just buy news ones if you need one. Other than that, if you want to make sure you have compatible products handy, memory cpus, gpus and so on would be fine to store.
EVGA SLI Micro Z68 // Intel i5-2500k // 8GB Corsair Vengeance 1866MHz // Overclocked 2GB MSI R9 270X // Corsair Carbide SPEC-03 // Kingston Hyper-X 120GB // 2TB WD Green + 500GB WD Black