Sure, go to one of the download mirrors and have a look at packages.txt. If you want the apps categorized then use Synaptic or Kpackage.
Edit
You know, now that I think of it there are some cool tricks to get the package list looking like you want it.

For a CR seperated list do:
Code:
COLUMS=200 dpkg -l|awk '{print $2}'>pkg.txt
For a space separated list do:
Code:
COLUMS=200 dpkg -l|awk '{print $2}'|perl -pe 's/\n/ /m'>pkg.txt
Now you can feed this file to apt-get
Code:
apt-get remove `cat pkg.txt`
You *may* however need to break it into smaller files. Not because it's too large but (due to dependencies) you could remove some pkgs you'd rather keep. In my experience it's better to make multiple files and experiment with each one but then again I remove ALOT of pkgs!

If you use Synaptic, make your package selections then:
File>Save Markings As>pkg.txt
Then you do almost the same thing only Synaptic uses a different format so pass a different argument to awk:
Code:
COLUMS=200 dpkg -l|awk '{print $1}'>pkg.txt
Code:
COLUMS=200 dpkg -l|awk '{print $1}'|perl -pe 's/\n/ /m'>pkg.txt
HTH