My client is using the public dns but they don't want dhcp to give dns as public dns. They want it to point to firewall then only firewall forward the dns to public DNS. Would it possible for ASA 5510?
Sort of - you could configure a static statement on the ASA that will equate to the DNS's IP address. For instance:
static (outside, inside) 10.1.1.253 220.127.116.11
You would also have to ensure that UDP 53 traffic is also allowed via access-list on your inside interface. On your DHCP server, you would then configure the IP address 10.1.1.253 as your DNS server - in reality, the ASA will simply translate that IP address to the real 18.104.22.168 address.
Hope this helps,