CTAN has a new package: xargs
The xargs package provides extended versions of \newcommand and other LaTeX commands, allowing easy and robust definition of macros with many optional arguments, with a nice xkeyval-style syntax.
This package is located at http://tug.ctan.org/tex-archive/macros/latex/contrib/xargs . More information is at http://tug.ctan.org/pkg/xargs (if the package is new it may take a day for that information to appear). We are supported by the TeX Users Group http://www.tug.org . Please join a users group; see http://www.tug.org/usergroups.html .
xargs – Define commands with many optional arguments
The package provides extended versions of \newcommand and related LaTeX commands, which allow easy and robust definition of macros with many optional arguments, using a clear and simple xkeyval-style syntax.