I believe it could be possible to create a list of installed packages (without versions or such, just the names), copy that to the other machine and feed it to aptitude/apt-get that would go trough it. What I'm not certain is if it causes trouble, but probably not. Use interactive mode so you can see what is being done before proceeding.
I'm sorry I can't provide direct commands for you, but apt-something (apt-cache?) can probably create such a list for you. Querying all installed packages should be no problem, I think it's pretty basic functionality in package managers. After you've got the list, see how it looks like; if there are version numbers etc. in the package names, you must get rid of them. sed and/or awk are great tools for that, unless you want to go trough the list manually (the list will be long). After that the list should only contain the names of the installed software. Again I'm not sure if aptitude or apt-get have the ability to read the packages-to-be-installed list from a file, but if it's not possible, you can still feed all the entries (package names) from the list to aptitude/apt-get to get the same effect.
In my opinion it still might be easier to just do a basic install and after it manually add the programs you use. I mean you probably don't have that much extra packages that you couldn't pretty quickly either write them up or just remember them and tell aptitude or apt-get get them. Creating the list mentioned above would include all the packages that were installed already in the new system, making the list very long for no good reason.