Regarding the first question, well … no. Just as humans can’t have grass-green skin, pokémon colors are pretty set. Even in the most extreme cases, such as the rare purple kecleon, the pigmentation involved is actually just a mutation of a possible color palette for that species. (In kecleon’s case, its purple color is actually a mutation that causes pigments from its stripe to color the whole specimen.
As for what determines a shiny’s color, it’s the same thing as what determines the color of a standard form, really: genetics. Think of it like this: shiny pokémon are to standard colorations as green-eyed humans are to those with practically any other color.