From what I have heard, NFS spreads its load over more ports than iSCSI, so "port based" load balancing might work better with NFS than with iSCSI. But since your VMWare kernel has only one relevant IP and your NAS box has one relevant IP, it is important to set the balancing to "port based" not "IP based", as the latter would force all the traffic onto a single link no matter how many UDP/TCP ports it is spread over.
I do not really know if NFS uses more TCP ports than iSCSI does. I would guess that it also is a typical client-server application with a dynamic client tcp port and a well known server port (tcp/2049), but I do not know at all.
However, that does not really matter. I am afraid I belive it is not correct what you write above, as "port based" is not a port as in a TCP/UDP port. It is just a virtual port on the virtual switch. Choosing port based load balancing will only make all traffic to one VM / vmk always go over the same NIC. That is, really no load balancing at all if only looking at one VM / vmk, however the load will spread somewhat even across all VMs.
It will be of no help for a iSCSI och NFS vmkernel interface unfortunaly.
Some physical switches with support for etherchannels (Cisco) has the possibility to select between MAC, IP or TCP based hashes for distributing frames over an etherchannel, but however that is not available in Vmware virtual switches.
Hmm, I don't have a list of the 802 series standard handy, but I definitely seem to recall that one of the standards specify bandwidth aggregation on switch to switch links by just plugging in multiple patch cables and setting both switches to recognize the situation by means of their STP topology detection.
I do not think that is correct. If using STP (or RSTP) there could be said to be native support for multiple switch to switch links, BUT that would only mean that Spanning Tree will shut down all but one of the links and only open it again if there is a failure on the first.
What I guess you are thinking of is the 802.3ad / 802.1AX standards, which describes link aggregation, which could be static (which Vmware support) or dynamic, through LACP, but still needs to be configured on the switch. If you define that a couple of ports on both switches should belong together in aggregation group (called "portchannel" on Cisco and "trunk" on HP Procurve) then Spanning Tree will allow this, since all links belong together in one logical link.
Note that this will also most likely be that traffic between two hosts always go over on of the links and the bandwidth is not greater than the bandwidth of one single port. It will depend of the capabilities of the switch however, if it could distribute on TCP/UDP port numbers you can go over this limit, but also must the application (e.g. NFS) really use multiple ports at the same time.
If you use the "IP based" load balancing on the Vmware virtual switch than you must define a portchannel/trunk on the physical switch.