ATT ksh, bash e zsh possuem um sistema de carregamento de módulos dinâmico que permite carregar código adicional em uma instância de shell existente, e o código carregado dinamicamente pode implementar novos builtins. O que você está pedindo requer mais do que um novo builtin: requer nova sintaxe, e eu acho que nenhuma das shells pode lidar com isso. Você teria que modificar o analisador no código-fonte do shell.
No zsh, você pode se aproximar da sintaxe desejada:
for x (*/) (cd $x && pipeline)
Você pode criar um alias alias map='for x (*/) (cd $x &&'
, mas ainda precisará do parêntese de fechamento no final. Você pode obter exatamente a sintaxe desejada com um hack bruto:
alias map='map__PWD=$PWD; for x (./*/ "") cd $map__PWD${x#.}/ && [[ -z $x ]] || '
Isso é tão feio, frágil e não generalizável que não vou explicá-lo. Não pense em usá-lo se você não entender completamente como funciona.