Sure. Just add the necessary temporal logic and a linear() or whatever interpolator, also necessitationg a while() loop to constantly force the evaluation, accumulate the values and figure out the start condition.
My knowledge of expressions is still pretty basic but I'd like to learn more. I'm familiar with the linear interpolation but I'm a little stumped by the way in which to use the while() function and what you mean by temporal logic?
Is there a chance you could break that down a bit more?
You run the whole thing in a while loop because AE has no way of rembering variables' values, hence the whole loop needs to be iterated for every frame to correctly accumulate results. just throwing out some basics pseudo-code structure here:
while (time < thisComp.duration)
if (tst > 0.5)
Thze accululate value for frame could then be fed into a secondary calculation as the actual event time from which you simply go backwards by subtracting the duration of your fade. Finally you feed it into a linear()
Again, this is just pseudo-code that needs to be fleshed out and tested. I suggest you study the relevant examples like the audio trigger expressions at http://www.motionscript.com/ to get a feel for how this stuff works.