From my experience vm can do vmotion to another host as long he has vmotion network.
Is there any way to avoid vm to do vmotion to another host in the cluster if the candidate host have lan/internet communication problems ?
Not with the current release (vSphere 6.0.x). There has been talk about doing a network health check on the virtual machine port groups as part of the VMCP (Virtual Machine Component Protection). It has yet to surface.