You really can't go wrong with SVN, Mercurial or Git. They each offer their own sets of advantages and disadvantages.
SVN has been around for a long time therefore it is widely supported. You'll find a plethora of clients for SVN. Among others, TortoiseSVN is free and rock solid. Backing up a SVN repository is as simple as backing up a file directory.
Mercurial (like Git) is a distributed SCM that by default doesn't have a central repository like SVN (though you can still have one). The advantage of a distributed SCM is that one can be complete disconnected from the network and still be able to commit code changes. The flip side of this advantage is that it allows developers to not sync up with the main repository for days before having to do a huge merge (you counter this with good developer self-discipline) . Another advantage of Mercurial is that you can push and pull updates from your peer without disturbing the main repository. A common scenario is when 2 developers are working together on a story and they can push/pull from each other while the story is work in progress. Then when the entire story is complete, they can then push to the main repository. My favorite Mercurial client is TortoiseHg and I highly recommend Mercurial: The Definitive Guide by Bryan O'Sullivan. Backing up a Mercurial repository is also as simple as backing up a file directory. If you don't want to worry about maintaining your own Mercurial repository, check out the new Mercurial hosting service offered by FogCreek: Kiln