Normally dmenu can only run scripts or binaries, not aliases. How do you get it to run aliases as well?
The reason that dmenu doesn't handle aliases by default is that it varies by shell:
shopt -s expand_aliases # allow alias expansion in non-interactive terminals
If your ~/.bash_profile is setup to not load aliases when running non-interactively (most likely the case), you need to explicitely load the aliases in your dmenu_run script: source ~/.bash_aliases
The above is sufficient to run aliases, but only if you type in the full name by hand — at this point, aliases aren't included in the list of known commands. To fix that, replace dmenu_path with compgen -c.