I have been experimenting with irridescent like effects in cycles for some time now - and came up with what I believe is a novel approach.
The way this works is to essentially subtract one glossy shader from another by feeding negative RGB values into one of them. This has the effect of forming a glossy halo around any lightsource hitting the object.
By overlaying different coloured versions of this subtracted glossy with different roughness values - you get a rainbow halo effect around glossy reflections.
This trick also works with the anisotripic shader as shown in one of the images (simply replace the glossy nodes with anisotrpoic nodes)
Superb! I tried to do the same thing using viewing angle to slightly alter the hue, a quick and dirty approximation that needed tweaking in every scene. This looks more accurate.