It's really not that simple, you're going to face a lot of problem with the client, for example:
If I send a virtual item to the screen of a client at the position (100, 100, 7) but the server doesnt know about that item and then another creature moves in that place, nothing will happen but if that creature leave the tile the player with the virtual item will receive a debug saying that it receive a move creature event for a position that didn't have any creature.
It would be pretty tricky to avoid all the other debug possibilities that this may cause with the client that you might as well just use magic effects as Zothion said or go with OTClient.
Edit:
Something you COULD do to avoid that all easily is to place a rock there and for people that have the storage instead of sending the itemid of a rock you would send the itemid of a portal, then players wouldn't be able to walk on it and whenever the player tried to move to this position you would check if the player has the storage or no.