Nick Matzke has an excellent post at the Panda’s Thumb about cooption as an evolutionary mechanism for building up complex biochemical systems. Cooption is when a given feature – a protein, perhaps, or in some cases an entire organ – that developed for one purpose is adapted for a different purpose. The Panda’s Thumb itself is named after an example of such cooption. At the biochemical level, this mechanism is very well known and very well documented.
Cooption can be observed in the lab through knockout experiments, where you cut out the gene that encodes for a certain protein in a system where multiple proteins interact, and after a certain number of generations, the system is working efficently again by replacing the protein that was knocked out with a different protein, adapted to perform the same function. This often happens hand in hand with gene duplication, which results in the production of two copies of the same protein, only one of which is necessary for its given function. The second one is then adapted for use serving a different function.
Cooption is well known and accepted even by ID advocates like Behe and Dembski, despite the fact that it deals a pretty serious blow to notions of irreducible complexity. Irreducible complexity is defined as a system with multiple interacting parts that are all required for the system to function, such that taking any one part away makes the system fail. Thus, they conclude, any intermediate system would not function and therefore could not be preserved by natural selection. But if the various components were present and serving different functions, then certainly they would be selected for and then cobbled together later as an adaptation. Read Nick’s post for more details.