The only way I can think of (and this is untested, and might not work anyway) would be to have an event on each object/building where you want this to appear, and then put the name on it. The big problem with that is that the only way to have that display all the time would be to set it to parallel process, and to have lots of parallel processes running constantly would cause your game to lag badly. Have enough of them on a map and it could become unplayable.
Hmm, wait a minute, just had a thought and want to check something.
This might work using Vlue's script. I stress the 'might' because I've not used this script and so do not know if you can position each popup to a unique place, or whether it appears in the same place each time. If it does that, it would be no good to you. You would also need Shaz's script which uses regions to call up a common event. You would also need a lot of common events.
Remember the player can only see what's on the screen at that time, not what's on any other part of the map, so you only need descriptions visible to the player at that moment.
Paint a line of e.g. region 63 around your building at the point where it becomes visible. That region calls up a common event with the appropriate script call for one of Vlue's popups to appear. I think you can determine how long the popup stays visible, but you would have to set a limit to it, because otherwise all your descriptions would eventually clutter up the screen. You could use the same common event for all inns, all items shops etc., but for unique places you would need a new common event each time.
If the map is default size so that the player can see the whole map at once, then perhaps put the script calls into a parallel process for when the map is loaded (remember to put 'Erase event' as the final command) so that they all show when the player arrives.