While not explicitly supported, BPM can work well with load balancers with some configuration changes.
Sessions
BPM, like other .NET applications, using IIS to store sessions on the server. By default, IIS stores sessions "in process". This means that each app pool stores session data and if the app pool restarts the session data is lost. This also means that in a load balanced environment, web servers will not have access to sessions created on another web server.
To remedy this, there are a few options. Each requires changing the Session State configuration for each web server at the website level in inetmgr.
SQL
You can configure IIS to use a SQL table to store sessions. As BPM can run against MSSQL, this can be useful. You will need to fill in connection string in the Session State section of inetmgr and then run the C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallPersistSqlState.sql to create the tables and stored procs required.
This can be slower than "In Process" or in a state server as sessions must be queried for however sessions will persist even if all servers go down.
State Server
This requires a server being designated as a State Server. The State Server must have the ASP.NET State Service started in services.msc. Once this is complete, the state server must be added as to the state server connection string in inetmgr. An example would be this:

Where SomeServer is the server running the state service. In this mode, all web servers store their sessions in the same state service, sharing sessions between webservers. This is the ideal setup for a load balanced setup.
You can find more information about IIS sessions here:
http://msdn.microsoft.com/en-us/library/ms972429.aspx
Viewstate
The second issue you will run into relates to a .NET security feature, Viewstate MAC. The premise is that .NET sends a certain viewstate key to the client along with the form. When the client submits a form, it also sends the same key back. If the key doesn't match, .NET treats it as an attempted spoofed POST and throws the following error:
Error Message: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
Root Cause: Invalid viewstate.
This can happen in a load balanced environment when a client GETs a form from one webserver but POSTs back to a different server. To remedy this, you can sync the viewstate keys. To do this, in inetmgr at the default website level go to the Machine Key section and click "Generate Keys" on the right side. Copy both keys to each other webserver to sync them

You can find more information about viewstate MAC here:
http://forums.eukhost.com/f15/fix-validation-viewstate-mac-failed-6085/#.UXiH5MpD_s4
Loadbalancing can also cause issues with SSO. While it depends on the loadbalancer, the following should be followed:
- SPN’s for the load balancer’s DNS name
- SPN's for the nodes
- SPN's for the service
- Sticky sessions enabled on the load balancer
- Make the load balancer a trusted device in the authentication server