If we are purchasing an FAS2240 controller with two disk shelves of SAS disks, would we have better performance purchasing two (2) separate controllers and load balancing between them?
Yes you could have up to twice the performance of just one controller, if configured correctly, BUT not for a single share.
Let me explain, think of each controller as a separate *nix-based PC that happen to share an arbitrated disk bus. The both boot up separately, both need their own IPs and both have the same protocols to use. The disks themselves only ever 'belong' to one controller OR the other, not both. What this means is that say you want to create an NFS share, that has to come from ONE of the controllers (head is the right word by the way), and the data will be stored on disks that 'belong'/are-owned-by that head and only that head will serve requests for that share. The other head can do its own thing, including sharing its own disks out over whatever protocols you like. The heads can then be configured to take over the work of each other in the even of a head failure, but not instantly - each head watches out for the other and if it detects that the other has gone down it takes ownership of the other head's disks and IPs then creates/duplicates the shares. Once the failed head comes back you can then reverse this process but key to this is that the shares won't be available for this failover period and some protocols handle this better than others. HTTP/HTTPS in particular is very good at handling this, other than for mid-stream writes anyway, whereas iSCSI/FC shares don't fair as well.
So to answer your question, if you have just the one share then having two heads won't increase performance but would give you a fail-over option, this is the reason most people do this, not for performance. If you have multiple shares and are happy to split them across heads then having two heads can obviously give you up to twice the performance AND have the fail-over benefits - does that make sense?
Either way they can be a fucker to configure, especially from bare-metal, so consider paying someone to design/build/configure yours and then just take over when it's all setup and can be managed by the GUI as anything else at the level of understanding you're at right now will be a massive headache.
Hope this helps.