Hello Mohammed,
about your questions:
1) with BGP you can decide how to send outbound traffic so you can get load balancing in the direction to the ISP.
You can try to influence inbound traffic but results are not guaranteed.
If your routers are connected to two different service provider's routers I would expect some load balancing in inbound direction too.
If connected to the same router the provider should add maxium-paths 2 to itd BGP config to achieve inbound load-balancing.
For outbound load-balancing you can get it by using two HSRP groups or by originating two default routes in the IGP that you use.
2) you shouldn't need any external device just the correct config on your routers as described above
Hope to help
Giuseppe