Eu não acho que seja possível. Basicamente, os aliases não podem receber argumentos ( $1 ) e as funções não podem fazer a expansão da macro ( | ).
As opções mais próximas em que consigo pensar:
em bash ou zsh
C() { col=$1; shift; eval "awkcmd='{ print \$$col }'"; echo "$awkcmd"; "$@" | awk "$awkcmd"; }
C 2 ps -ef G mysql
em zsh
alias -g F="| tr -s '[[:space:]]' | cut -d ' ' -f"
ps -ef G mysql F 2