I wouldn't call this novel but... I'm going to give an example on how to do this for a specific filter with a specific discretization.
A 1st order butterworth low-pass filter is given by:
$H(s) = \frac{Y(s)}{X(s)} =\frac{\omega_c}{s + \omega_c}$
Where $\omega_c$ is the cut-off frequency of the filter.
The backward difference (aka backward euler) approximation is given by:
$s \approx \frac{1-z^{-1}}{T_s}$
Where $T_s$ is the sampling time. By substitution, the discrete transfer function becomes:
$H(z) = \frac{Y(z)}{X(z)} \frac{\omega_c}{\frac{1-z^{-1}}{T_s} + \omega_c} = \frac{\frac{\omega_c \cdot T_s}{1+\omega_c\cdot T_s}}{1 - \frac{1}{1+\omega_c\cdot T_s}\cdot z^{-1}}$
Let $a = \frac{\omega_c \cdot T_s}{1+\omega_c\cdot T_s}$, then:
$H(z) = \frac{a}{1 - (1-a)\cdot z^{-1}}$
Thus the difference equation is:
$y[n] = a\cdot x[n] + (1-a)\cdot y[n-1]$
Why go through the tedious process of getting an equation for $a$ when I could have just used the above formula and try to guess some values for $a$? Well, now if you want to change the cut-off frequency $\omega_c$ in real time, you simply have to recalculate $a$ each time you compute the signal. This, of course, assumes you have a constant sampling period.
Note that this filter is an IIR filter, not FIR as you requested, but the logic is basically the same: as long as you know how your coefficients relate to the cut-off frequency, then you just simply have to recalculate them every time you want a different cut-off frequency. Nothing stops you from repeating the same steps for different discretization methods, different types of filters, etc...
You may even wish to work purely in the discrete-time domain, but the relevant part is always knowing how your coefficients relate to the cut-off frequency.