"The only thing I can thing of is to use VBA on the change event to make the object visible = true or false." I don't think it is possible to get it to show whwerever you want. I belive you can use code to make a picture visible and move it to where you want once, but unless you keep an information sheet (to keep records of where each picture was moved to, so you can move it back before moving it to a new location), I don't think you can move it somewhere else. I think you can't tell a picture to be at x, y, just move x and move y, where the starting point will always be where it last was.
If this is right, you would have to insert each picture you want once and setup a table (or just modify the name of each object) to associate your terms with the object names. Then set each picture to be invisible. Your code would have to find the object name, check to be sure it is not used some where else and if it is, copy and paste it and then keep track of the new one as well. You code would also have to go through all the pictures to be sure that none are supposed to be hidden.
Sorry for the rambling, but it seems like it is doable, just not that easy to use.