I have done it in the past, but not with Vista or 7. I believe the same issue would apply though.
Normally in a dual boot environment, you would want duplicate programs as most often the OS are not compatible, for example with windows and linux. However Vista and 7 are built on the same foundation and so I think this is how to create what you describe.
The issue is not where you have installed the programs but that the OS does not have the appropriate registry files from the install. In the past I have created a third partition (called "Data"). After installing OS "one" in its own partition, I installed all of my programs but into the Data partition. Then after installing OS "two", also in its own partition, I reinstall all of my programs again to the Data partition. Now both OS have all the necessary reg files to run the progs.
You open a basketfull of unknowns here like what happens when you make changes to your data from one OS and then open it with the other OS. So if you are going to experiment with this be prepared to loose everything. Make good backups etc.
I think you could test this theory buy selecting a program (something less important) you have installed on Vista. Reinstall the program with 7 but change the install directory to the partition with Vista. You should be able to run the program in 7. Then boot to Vista and check out whether it is still working there.
The Data partition's value is here apparent. What happens to all your programs if you choose to get rid of Vista at some point? Better to have them separated (like into a third partition) so you don't loose them.
Experiment: "Where no one has gone before"