My suggestion would be to give every object a list with possible partners for combinations, the appropriating results, and needed actions to fulfill the combination/manipulation.
An example to make this more clearly:
You've got a flour sack, a barrel of water, and your character is standing in front of an oven. Imagine: you could now click on the oven which brings up a small menu with the actions it provides (maybe related to the skills/abilities of the user). You would fire it up. Then you would use your own "combine" skill (or something like that) to combine the flour and the water to a piece of dough which you put into the oven who transforms the dough into a bread - voil?!
Another example would be: you've got an axe, a piece of wood and... say... some kind of art skill, so now you could use your artskill with the axe which targets to the piece of wood - and after a while you've got yourself a statue or something like that.
What needs to be thought over is, how that would be organized... the most simple solution I think would be to setup a global "combination-list", where the game looks up what happens, when A is used with B.
Okay this was a little bit confusing, I for myself will need to think about it until all is completely clear, but I hope you could filter out what I mean
