You can specify a max light range in code, but it does mean hacking the light structure, which does expose this parameter (or at least it did in 1.87). Easy enough to do but probably a bit of a last resort though, so maybe a feature resquest for an appropriate function would be worthwhile, and maybe one that also gives extended control of the other attenuation parameters (specifying a LightRange is a simplification of these), not I suppose they would be used much, but in for a penny...