I want to add several textures in a master material and create 1 material instance to control the textures

Assuming your armor pieces are Static Mesh Components (SMC) you can Create Dynamic Material Instance from the materials of each SMC and promote them to variables. This way you can change the variables in runtime and that would automatically update the material on the meshes.

For the structure you can make something like this
image

Using Texture2D or whatever parameter you want to change.
Then create a Data Table from this structure for each SMC, that way you can have a name assigned to your skins.

Then create the variables for your Data Tables in your BP and get the data like this

This of course is not the only way to do what you want, but this is what I normaly do in this situation.