If you don't want to alter every single animation, you could create a separate sprite for the eyes that are pinned to the player. Have the eyes consist of three different frames (blue, purple, and red), and update them accordingly based on whatever value you're using.
Someone else might be able to provide a better solution, but outside of adding different animations for every eye color, I can't think of an easier way to do it.