If you have access to the original images, you should be able to pack them according to your needs.
see this page: Texture Packing - Spine User Guide
Particularly the section on Folder structure: Texture Packing - Spine User Guide: Folder structure
If you don't have the original images, you can still run Spine's Texture Unpacker.
But if the atlas had premultiply alpha applied, you'll have to be careful not to apply premultiply alpha a second time when you pack it again.
The way to not have those materials and underlying textures load at loadtime is to not have those attachment objects in the skeleton data at all.
But if they were to be loaded at load time, I think you can force Unity to unload the materials and textures that you aren't using.
At load time, all renderable attachment objects in all skins are given a reference to the material needed to render them, defined by the atlas region name that was specified in Spine (if no atlas region name was given, the name of the attachment is used as the atlas region name).
Atlases can't really be "swapped" at runtime. Each attachment stores the information needed to render it and they are shared across all instances of that skeleton.
MixAndMatch works by cloning those attachments so they can be modified without affecting other instances.
So you could technically create a skeleton instance, clone its attachments, then reassign their texture and material source based on a different atlas.
That's essentially still Mix and Match and still uses the same spine-unity AttachmentTools.
The MixAndMatch.cs example is only a sample of how Spine.Unity.Modules.AttachmentTools can be used. There are other ways to Mix and Match by cloning and manipulating skins and attachments.
But it's unclear what specifically to recommend since we don't know how "wrong" your skeleton was set up.