Alright, here's what your config should look like from each VM out though each host and the pSwitch:
VM has NIC (VMXNET3, E1000, whatever) that has IP configuration in the guest for the local subnet, and a gateway if it needs to talk to systems that are not on the subnet.
The VM configuration should have the VM NIC set to the correct port group.
The portgroup is on the correct vSwitch and has the correct VLAN ID associated (if it will be connected to a port that is trunked/uses VLAN tagging).
The pNIC correct is associated with the vSwitch. You need pNICs in order for guests on different hosts to talk to each other, even if they're in the same VLAN or on a vSwitch with the same name.
The switch port configuration associated with the host NIC/pNIC is correct, allowing for your VLAN traffic either as the native VLAN or as a tagged VLAN.
Since you are using multiple hosts and therefore need to engage your physical network, you may want to have your network team setup routing, rather than using a multi-homed VM. It should be possible to configure security on a router interface for each VLAN to only allow traffic that is routed to the other VLAN that it is allowed to talk to. This prevents the need for a dedicated router VM.
Check the config at each layer and let us know. Start with 2 VMs on the same host, and verify that they can ping each other, then work your way out through the configurations from there.
Happy virtualizing!
JP
Please consider awarding points to helpful or correct replies.