You can do it with nested subroutines using an L count with the M97.
What is it you want to make, hole, pocket, step down a perimeter, ??
For interpolating a hole of course you can just use G91 and L right in the interpolation command;
G91 G03 I J Z-.1 L10
will do ten counterclockwise interpolations moving down -0.1 every time for a total of 1.0.
If you can give me some sizes I might be able to give you some sample code the way I would do it.
An open mind is a virtue...so long as all the common sense has not leaked out.