That can be done in many ways.
One could be to give a reference of the door to the player when body_enter
, then make the "open door" or "action" input always work regardless the referenced object so it can trigger anything, not just doors.
When the player tries to trigger something, if null can make a sound or ignore it, if there is something, try to execute a common function on these objects (you can do a group check).
Then null the reference when body_exit
.
How to change scenes will depend on your design, if you want to cut a branch of your scene or change all, there is a demo about scene change that uses an autoloaded script but can be done directly from the tree.
Check docs to understand how the scene tree works:
http://docs.godotengine.org/en/stable/learning/step_by_step/scene_tree.html?highlight=change_scene