I'm having the same problem, after
http://www.bigbluecup.com/yabb/index.php?topic=45616.0 I decided to give it a go and build a icon based dialogue system where you could mix items to produce other icons that you could use on a conversation. I did a 1 room test and I managed to make it work.
This was my approach:
-I built a custom INV gui and gave the player to start a icon representing a generic location and one that represents a generic character (unknown);
-I let the player click on several objects and hotspots on the room, also a NPC; everytime the players does that a icon is added to the custom INV window;
-icons can be mixed just like normal INV items could;
-when the player talks to the NPC the INV gui shows up on the bottom of the screen and a new gui on the top of the screen;
-the player can click on icons in any order, those are added to the upper gui in order to build sentences;
I also used the second gui with empty (graphically) buttons and checked if they were empty so that an icon would be added to it; of course this was done with shitty coding (lot's of IF's) and I know that an Array should do it.
So, the thing is perfectly executable even for a bad coder like me, but it does take a lot of work. I had to program every choice available for the player and even with a few objects (knife,pen) and hotspots (vase,window,door knob) the possibilities are immense.
But I must say it was really cool testing it myself, I could start with the generic location icon and add the knife and produce a question related to a plot, "This is a kitchen knife, mind if I check your kitchen?". Use the window icon with the generic character icon and ask "Is it possible that someone could have seen the murder from outside the window?".