The limitation comes primarily from the way that the parser is written. It is possible to work around this and specify a third parameter for a grammar.
There is an extension adapting an example from the DM4 at extensions/Third Noun.i7x at master · i7/extensions · GitHub if you are interested.
The extension has no documentation, but see the discussion at Actions using three things... - #2 by Draconis for an example of use.
For more targeted answers, it may be helpful for you to provide a sample transcript of the kind of interaction you want to enable.