try it:
look here under Adjust
AdjustY(clip, string "Y", bool "eval_frame")
"Y" is the formula string for the NEW Y and must use the variable Y (which represents the OLD Y) and can use N as current frame if eval_frame is TRUE.
I think it does what was proposed.
eval_frame=TRUE is quite slow,
but you can e.g. make FX like wobbling the luma:
AdjustY("Y+100*sin(N/2)", true)
maybe you report some results.
Works with AviSynth 2.5x, RGB32/RGB24/YUY2