Hello shayanakbar94,
I'm sure you're going to get much more qualified people here very soon to chime in, but your situation (at least to me seems fairly complex)
First I would look into PVST. Per vlan spanning tree. If my understanding is correct, with PVST would then be able to navigate your traffic per VLAN, maybe not per port as you stated in your original post, but you will be able to do it per VLAN.
As far as a load balancer I'm sure there are devices that you can purchase, but if you set up equal cost gateways the traffic should load balance. Also if you set up PVST, load balancing happens by the VLAN. SO VLAN 1 for instance will always take WAN 1, the issue here is that if/when WAN 1 fails, VLAN 1 may not know how to get to the internet.
Hope this helps you get started.