Mohammad,
The strait answer is I believe NO, but,
You may be able to create an additional macro, that uses the macrocall widget to convert the position to a named parameter. However this likely reintroduces the same problem, being able to provide parameters values from difference sources such as variables and transclusions etc...
I think what you ask for would be a nice addition to the macrocall widget. Even if a new variable containing all prams needed to be processed within the macro. ie each named parameter is passed and a separate string containing all parameters delimited in some way, perhaps as [[titles]]. Such a mechanism would also help concatenation methods and more. For example providing a macro a set of keyword=value or keyword:value pairs which the macro can parse.
I will continue to think about this
Tones