Yes, there are several distributions that let you choose all your software packages yourself. Here are some examples:
[ul] [li]ArchLinux[/li] [li]Debian[/li] [li]Slackware[/li] [li]Gentoo[/li] [/ul]
ArchLinux, Gentoo and Debian Unstable are rolling-release distributions, which means that new packages are being released into the repositories as soon as they're available upstream. Debian Testing, Debian Stable and Slackware instead make stable releases from time to time, where package versions are frozen and only bugfixes and security updates are released during the lifespan of that release.
ArchLinux and Debian are primarily based around binary software packages fetched from online repositories, with automatic dependency-fetching and so on. Slackware uses binary packages without dependency checking, but there are multiple third-party package managers for Slackware that adds support for online repositories and dependency fetching. Gentoo is based around an automated build system called Portage, that compiles each program for your machine, and let's you customize everything with USE-flags and MAKE-flags. This requires some time for maintenance, though.
They each have a bit different philosophies, so it's up to you to choose the best one for your use.