Simulating LCD display angle effect (duplicating millions of realistic pixels)
Thanks to the suggestion from user lemon in the comments the solution I ended up with was to use the dot product between the geometry normal and the incoming ray vector in order to control the strength of the shader emission (divided the dot product by the length of the incoming ray to normalise the value).

The emission is cut off completely when the sine of the angle is below the value in the 'Greater than' node. And increases smoothly above that angle until reaching full strength when parallel with the normal.