There are more than 200 client in our network which I don't have access to many of them.
You dont need access to the clients. You can either sniff packets or log DNS service. First task is always "find out why is it happening". Then it is much easier to figure out solution. It could even come from internet, if your firewall rules are misconfigured. Unless you find out source of these requests, it is hard to suggest good solution.
can be considered as a DNS attack
Fully agree.
So it's Mikrotik job to handle it.
Disagree. Administrator is always responsible for setting his device. Maybe you meant hiring certified consultant?
I don't even know if these type of queries are valid or not?
And that is the problem. As said earlier, you need to find out. We cant do it remotely. To me, it seems like someone is querying 00000000 - FFFFFFFF. those are perfectly valid and possible hostnames which may exist on some network.
I believe mikrotik should not at least cache entries which can't resolve.
Does that mean, you would like your mikrotik to open connection to another DNS and do the resolve again and again, even if it know that it cant be resolved? Such approach opens plenty of other attack options. Caching is normal. It is up to you to set up cache. For example you can lower maximum cache TTL, so entries will not stay that long.
there must be count rules in firewall to add rouge clients to blacklist.
There are such rules. You are probably talking about something like dst-limit with mode "src-address" and action=add-src-to-address-list
Or you can simply ignore setting and do what Pe1chl suggested - disable remote requests on your mikrotik and use either public service or dedicated device.