Yes, of course a shader can react on spot lights. The fastest method uses vertex lighting: calculate the angle to the spot light center ray, and dim the light when the angle is bigger than the cone angle. The center ray is given by vecLightDir.

http://manual.3dgamestudio.net/Shader-vecLightPos.htm