Hi,
First off, a word of caution - the problem you're looking at here is worthy of multiple PhD theses. That being said, ambition is good, right? :)
1. When you say you want to generate all possible combinations of chemicals, you'll need to be more specific with your question. Do you have a specific small molecule drug compound in mind, and you want to generate different conformations of that compound? Or do you want to traverse through the space of all possible small molecule drugs that could exist? If the latter, I would suggest that this is impossible, because the space approaches infinity combinatorically rather quickly as you increase the number of allowed atoms.
A good algorithm that searched this space intelligently, however, and could provide suggestions for new, unknown small molecule chemicals, could be quite beneficial.
2. In order to predict activity with MD, you need to have prior experimental knowledge of what protein states are active and which are inactive (at least as far as any studies I've seen). This is because the activity of the protein is not something that is immediately obvious outside of its context. This is especially true of proteins that interact with other proteins or have activity that occurs over the time scale of milliseconds or longer.
Instead, researchers usually target a known binding site, and try to measure binding affinity for their target compounds. This is a costly MD experiment to run, so usually it is only done on a relatively small number of compounds, following a heuristic funnel that reduces the number of targets from millions to dozens.
3. For examples of proteins and their interactions - have you tried the PDB?
http://www.rcsb.org/pdb/home/home.doBest,
Tom
PhD, Computational Biology, NYU '12