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 normally handle aliases is that every shell does it differently:
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.