I did have a quick look through the extensions, but while there were several that modified disambiguation in various ways I didn’t spot any that would let you trigger it at will. Not surprising; due to the way that the parser is constructed that seems like a hard problem.
FWIW, another possible alternative to adding an extra action in the original problem is to give Inform better hints about an appropriate default choice; for example, if all doors were keyful but you wanted it to infer the correct key automatically:
Does the player mean unlocking a locked door (called the portal) with a thing (called the key):
if the key is the matching key of the portal, it is very likely.
With this rule in place, then (provided they are carrying the correct key) Inform will accept unlock door
without needing to add the extra action. It will still ask if they’re not carrying the correct key (but are still carrying more than one thing).
Oddly, due to the order that parsing scopes are tried, if the correct key is in the room (rather than carried) and the player is either carrying nothing or at least two things, then unlock door
will also implicitly take the correct key and use it – but if the player is only carrying one thing then it will (unsuccessfully) try using that one carried object regardless. This can be worked around with some additional rules.
On further consideration, there is actually a way to get exactly the behaviour you’re asking for:
A door can be keyful or keyless. A door is usually keyless.
Understand "unlock [something]" as unlocking it with when the noun is keyless.
The carrying requirements rule does nothing when the current action is unlocking a keyless door with the player.
The can't unlock without the correct key rule does nothing if the noun is keyless.
Rule for supplying a missing second noun while unlocking a keyless door with:
if the front side of the noun is not the location:
say "The door is locked from the inside." instead;
now the second noun is the player.
Does the player mean unlocking a locked keyful door (called the portal) with a thing (called the key):
if the key is the matching key of the portal, it is very likely.
With this, unlock door
will automatically unlock a keyless door (if they’re on the correct side), but doing that on a keyful door will (due to the final rule) either use the correct key automatically (if held), or ask for clarification (or just try a single carried object automatically, as usual).
Note also that this version doesn’t require you to specify “in directions” and “out directions” explicitly; instead it infers it from the automatically defined “front side” and “back side”. This just needs you to list the door in the correct order in the source text for it to work as expected (whichever side is mentioned first is where the latch is).