If you use a sofia profile with ODBC on multiple machines, if you register to any machine all of them will resolve the correct contact address when trying to make an outbound call. Presence, however such as subscriptions must still go to the original box because there is an open SIP dialog that must be maintained. So if you have box1 .. box10 and you register and it hits box2, you can call this user from all 10 boxes and it will find the correct contact addr.
All the things stored in mod_limit, the limit app, the db app etc. Can be shared via ODBC the same way as SIP.
For advanced clustering, you can use an external control entity such as mod_event_socket and combinations of mod_xml_curl so you can dynamically generate a dial plan to send the call to PARK state which is a passive state where you can control the channel on a staging box then distribute them to satellite machines running applications or mod_fifo for call queuing .