The physical NIC used for vMotion on each host needs a network cable connected to it, yes. However, you don't need to run the cable directly from one host to another. These interfaces just need to be on the same network segment (i.e. same VLAN, if you're using a managed switch). If you want to use a crossover cable to directly connect the NICs on the two hosts, that's fine in theory, although I can't say I've ever done that on a production environment.
Typically, I'd just plug them both into the same switch. You could even plug them into different switches as long as the uplinks between the two can handle the vMotion traffic.