AFAIK, the answer is no; it does not exist for vanilla Emacs completion, and likewise for icomplete-mode
. (Someone will correct me if I'm wrong.)
This kind of narrowing is a key feature of Icicles, which Icicles calls progressive completion.
Some other completion UIs now provide such a feature, including Helm and, as you point out, Ido. Icicles was the first to provide this feature, AFAIK; it has had it for almost a decade now.
A related feature is to narrow, not by matching additional patterns, but by not matching additional patterns. Icicles calls this chipping away the non-elephant.
Here, you match an additional pattern and then subtract those matches from the previous ones. This can be a powerful way to quickly narrow a set of completion candidates by simply weeding out those that match certain patterns.
Note: Unlike Ido completion and Icomplete completion, Icicles completion is very close to "the default completion system of emacs". It uses the minibuffer the same way (you can edit there etc.), and it uses buffer *Completions*
the same way.
In fact, if you just use TAB
for completion and you do not use any of the Icicles-specific minibuffer keys, the completion behavior is pretty much the same as vanilla Emacs.
So Icicles really does provide something very close to vanilla Emacs completion plus, by hitting S-SPC
, progressive completion (incremental narrowing).