Reusable cross-scene dialog

I am a C# software developer by day but new to unity game development. I am able to create a basic character movements in 2D mode but now want to implement couple of features. I am relatively clear on how to implement most of them but still struggle to figure out few other ones.

  1. How would I properly create multi-scene dialog system. Most of the tutorials instruct to create a canvas and ui objects in the current scene. This will work for a menu system, however I am expecting to have a lot of scenes. I do not want to create dialog in each scene which is going to be a maintenance nightmare.
  2. What is the best approach to mark special places in the “world” where I could use a button to perform some action, like display dialog or use/pick up an item.

Does anyone know of any pointers or hints on how these should be implemented? Any guidance will be appreciated.