You can do it with a scene comprised of 2 sprites and an Area2D node. Give the Area2D a child of CollisionObject2D and set it's shape to a rectangle covering the sprites so that everything is overlapping.
Add an empty script to the scene root Node2D. Then connect the mouseentered and mouseexited signals of the Area2D to the script.
Then add getchild(1).hide() and getchild(1).show() to each of the script functions that handle the signals.
Now the top-most sprite will toggle it's visibility on/off as the mouse moves over it. Save the scene and instance it in other scenes where you need it.
You can add export vars for textures to set the sprite textures later when you instance the scene in other scenes.