I frequently use this. Ie, use parametric values to define Z movement during a circular cut, and decrease that value every time the subroutine is called. Result: helical paths for boring, thread milling etc. Parametrics can save you a lot of time and coding.
Remember that a parameter will persist between cycles ... Make sure your program resets the parameters to a safe starting point before they are called for the first time in the movement phases.