Confusion with sudo and multiple local accounts
You aren't carrying forward your shell environment into the su adm session. so if you echo $PATH in the usracc account and the adm account, you'll find that they aren't equal (which is why adm can't find the updatedb command). All you need to do is tell su that you want to carry forward your env (su -m adm should do it) or just add the path to updatedb.

Though on my box updatedb is called /usr/libexec/locate.updatedb and is a script.