Thanks for an interesting addition to data driven coding techniques. One minor drawback is that the driver table has to be a native SAS data set, as views and dbms tables can't use nlobs. Like many others, I've generally used SQL Select Into: to populate my driver list. But I've also used double SET statements like e.g.:

data outtable;
set intable;
do until endDriver eq 1;
set driver_table end=endDriver;
/* some processing of intable */
end;
run;

I first devised this to replace two hard-code do loops, in which lots of extra coding was needed to check whether driver_var2 (i.e. for the inner loop) was valid for driver_var1 (the outer loop).

To give different loops for different by variables I also devised something like (I don't have the exact code handy, so it may be off a little):
data outtable;
set intable;
by byvar;
do until endDriver eq 1;
set driver_table end=endDriver key=byvar;
/* some processing of intable */
end;
run;

But ultimately I opted for a hash-table solution.