I can guarantee that the second method, though it takes time to initally set up, is an extremely efficient method. I have 37 levels and 64 player-usable items set up with it in my game. Practically all of the objects are only on one layout and with this system I can easily create new layouts and with a few events and actions determine which objects are or are not visible on the new layout.
It kind of functions as a CMS for my game.
Here is an early capx showing my example.
Since then I have set everything up so that the inventory, equip subscreen, background tile, etc... are all only present in the 2nd layout, are set as global objects and are included on each layout by setting their instance variables to 1 (moved to layer 1) just like how the inventiry items are.
If I don't want an object visible on a particular layout then I set an action and event to move the object to layer 0 for only that layout. As you can see from the example it truly does function as a quasi-Content Management System for the sprites and objects throughout the whole game.