Custom light falloff in Cycles
You can manipulate the Emission strength of the lamp based on the Ray Length from the Light Path node - this is precisely what the Light Falloff node does (you provide an emission Strength and it determines what the actual emission should be to achieve that result).

You can derive the different Light Falloff values from each other by either multiplying or dividing by the ray length to move up or down the scale. ie,

Quadratic * RayLength = Linear
Linear * RayLength = Constant
Constant / RayLength / RayLength = Quadratic


This allows you to get some interesting effects - for example, you could get Cubic falloff by simply dividing Quadratic by the RayLength.

To get a 'stepped' effect (where the falloff suddenly changes at regular intervals) you can use the Modulo maths function to give a stepped effect to the Ray Length as follows :



Adjusting the Modulo node will affect the size of the banding.

This can produce the following result :





Here's another useful setup for adjusting the falloff using a Color Ramp - this time using Constant falloff so the 'maximum' illumination is not affected by distance (ie, purely based on the color ramp).



The Subtract and Divide maths nodes control the offset and scaling of where the color ramp is applied to the illumination and the color ramp controls the profile. For 'stepped' banding simply use Constant interpolation in the Color Ramp and configure the ramp with the required bands.