When "moving" sprites, is there a way to swap in what was there?

You can use a variable to store the tile before „moving“ the object there and swap it back in later. I described my approach at the bottom of this How-To: Make Sprites Pushable