Can I hide queues?

If I want to disallow users from using a queue, I can do that via acl_groups.
I can also disallow users from seeing other user jobs via the query_othe_jobs=False.
Can I also disallow users from seeing queues that they don’t have access to when they run the qstat -q command?

There is no such configuration to hide the queues.
However, you can write wrapper script around the qstat command and customise it to your requirement hide the queue name when run by respective users.