Good stuff. I think list generation/list processing is probably one of the most important keys to the macro language. Look forward to seeing your future posts.

Richard DeVenezia has a nifty macro %seplist for creating (or removing) list delimiters etc, similar to your %formatlist:

http://www.devenezia.com/downloads/sas/macros/index.php?m=seplist

--Q.