One option in the Database (F9), when setting the passabilities and priorities and terrain tags for the tiles in a tileset, is one called "counter flag". When you try to use it in-game, the game will look past that tile and look for an event behind it to use (i.e. the nurse/clerk). Set the counter flag for all desk tiles.
As for the event disappearing after you've closed the game, I'm not sure. You may have set it up incorrectly. Putting an invisible event on the desk should work anyway (although it's a bit messier than using the counter flag). I presume it's the desk event disappearing, rather than moving, because events don't move like that. But no matter - you won't need to solve that problem.