As your first question, there's no way to list the conflicts, since bash use a hash table internally, it only records the last override.
To find out if a command is an alias, use alias ls in your case, if it tells you something like "not found" then it's not an alias, otherwise it is.
To launch original function disregarding the alias, prefix a slash, e.g \ls will launch the real hashed ls, ignore the alias.
EDIT
If you want to know quickly if a command is an alias, you could enable debugging mode by set -x, now if you execute ls:

You'll see a debug output of the real command being executed
To unset the debug mode, use set -