Thank you for illustrating your issue so clearly!
If I encountered such a case, I would use meshes. I understand that the eyelashes are difficult to deform nicely to the shape of the eyes, so it would be good to prepare images for each expression, but I think it would be easier to animate the eyelid skin and makeup using meshes. Even when using skins, the same meshes and weights can be reused by using linked meshes, which is easier to manage. For more information on linked meshes, please see the Spine User Guide:
Mesh attachments - Spine User Guide: Linked meshes
Regarding the performance issue of clipping attachments, you are right. Using clipping attachments can be a very expensive operation and must be used with care. However, how much cost is acceptable in your game is not sure until you try it. If it is tested and there are no problems, you can use them.
Are there any shortcuts to this? Very specific naming and use search could be a good one - but ideally, one would prefer a single click in terms of a macro or possible scripting for the editor and creating your own functions.
Unfortunately, there is no such functionality as a shortcut for batch switching between a set of attachments for multiple slots. Therefore, it would be better to create an animation for each expression, save the set of attachment keys needed for it, and then reuse the keys when you want to create an animation with the expression.
I hope this will help you.