Vertex painting with 8+ textures (How can I achieve this?)

So having 12 separate textures with normals and tessellation would cause performance problems? Is there a way I could have it and keep it optimized? Also how could I isolate colors for each texture?