I have an esxi cluster setup with multiple datastore is there anyway to restrict users to use only particular datastore when they create vm?
Yes, you can assign different datastore permission for the users and let them create VMs only on a particular datastore... take a look here: The Forgotten Art of vSphere Datastore Permissions -- Virtualization Review