You can sometimes get old versions, depending on the source. For the most part, when a package is updated, it replaces the previous updated version (some repos keep the first version for that release, until the release goes End Of Life). This also depends on whether newer versions include security updates, or are no longer supported 'upstream' (where the package came from).
If the version you want to install is still in the repository, you can use this syntax to install the package:
sudo apt-get install apache2=2.2.20-1ubuntu1
If is not available from the repo you are using, you may be able to get the package from elsewhere.
With the PPA you seem to be using, you can currently get version 5.6.9. But there is another PPA by the author, from which you can get version 5.5.25. (There is also this one with 5.4.41, but only really for 12.04)
There are also third-party sites that often have old (and sometimes newer) versions. For Ubuntu, Ubuntu Updates (there other sites as well - e.g. for Fedora etc there is rpmfind (yes, RPMs.... - you can use alien (see below), or get the src.rpm and use the stuff in that to build something usable in non-RPM systems :D).
If all else fails, you can get try to a get a source version of the version you want (for PHP, see here), and then make the packages from that. This you can build and install directly, or build deb package(s) out of it and install those.
You can also use alien to install packages not in the deb format (this seems to include tar.gz).