My guess is the answer to this question is no, but it would be awesome if there was a way. To clarify, assume I have the following macro:
#define MY_VARIADIC
This is probably is not very close to what you are wanting, but something like the following might get you there:
#define MY_VARIADIC_MACRO(X) printf( "%s\n", #X )
Then use it like the following. Enclose the parameters in parens so that it appears as one parameter to the macro.
MY_VARIADIC_MACRO(( var1, var2, "string" ));
You could then have the macro call some function that strips off the outer parens or possibly parses the given string.