Yeah don't use eval it is difficult to use and is depreciated. Use array notation:
Also it is better to do this once than multiple times.
Easier to read. Less prone to typos. Actually faster to process. Wins all around.
This all is assuming that inventory instance is within the scope of the current timeline. (Which I'm guessing from your code that it won't be....)
Here are a couple of tips. Use lowercase for the first letter of instance names. Upper case is usually only used for Class names.
I did that but...
it moves item1 to -40, -60 on the stage, it doesnt move it to -40, -60 inside the actual inventory movie clip.
Not sure what you mean by that. But if item is on the main timeline and inventory.itemSlot1 is at -40 inside inventory, then it is doing what you have asked it to do.
If you want them to be in the same locations you could do:
Or if you have very contorted design you could look into using the globalToLocal or localToGlobal to handle the transforms.
After years of doing this kind of stuff I generally design stuff to begin with in a manner that makes the positioning easier. It is hard to describe exactly how I do it....