apropos
could use built-in flex
completion (setq completion-styles '(flex basic)). With icomplete-vertical-mode enabled, this already seems to put the shortest first.
for showing recently-used commands first
they put shortest first, but also most recently used first