I don’t think you will be able to change the color of each vertex for each instance easily. As @Deltakosh said, there’s a way to set a color per instance (so the same for all vertices of the instance) but not to set a color per vertex per instance.
You could do it by using a custom shader and using the gl_VertexID
and gl_InstanceID
predefined variables to lookup the color you want in a texture you would create in a pre-process and pass to the shader. Something like: