1. I will say it's better to have a different sprite for each new type of monster. Of course this will take a little bit of the size of your game as well as your game performance, but the difference won't be that big and having different sprites will allow you to use different instance variables and behaviors, giving you more freedom to create many kinds of monsters but it'll also be easier organize your code, and if you ever need to apply the same event, behavior or variable you can always use a family for that.
2. You can try to use the Local Storage to save all kind of data from a layout and then you can load all of it when exiting the menu layout... terrible idea.
Or you can save the game through the save function, and then you save on Local Storage the menu information. When you call the load function the game will load exactly how it was at the moment you saved it, so you can use this to return to the same layout position and condition and then load the data from the Local Storage to apply to the layout the changes made at the menu... Better than the first idea but I still won't recommend it.
So yes, the best thing to do here is use the menu in a different layer. But don't worry you won't need to redo everything. Instead just set the layer from the menu layout as a global layer. Then at the game layout you create a layer with the same name and you are good to go. The only thing you will need to do is transfer the codes from one event sheet to another.
Hope this helps o/