And if you really need to downgrade the kernel or another package just do it with pacman -U /var/cache/pacman/pkg/<packagename>-<oldversion>.
I know this is the No.1 hint but this solution is not very well from my view because instead the hardidsk getting bigger and bigger it sounds unlogical to keep a lot of files in the cache and only a few one could be important for seldom cases.
One of them which is important be the kernel. So if pacman would have the option to install a certain version of a package than the user need only to know if there is more than one version in db. So perhaps this coould be solved at example for a search of all by a "pacman -Ss --allversions ^kernel". Last not least repo-add and repo-remove must have the possibilty to do this too.
cp `ls -1 /var/cache/pacman/pkg/kernel26-2.6* | tail -n 1` ./ Is it really that hard?