Yes, it's possible, but you will need to build an SMPP message parser. Basically, the idea is to issue LB::detach command after the end of each message transmission - which will force a new load-balancing decision to a different server in the pool for the subsequent message. The rough pseudocode idea is something like this:
when CLIENT_ACCEPTED {
TCP::collect
}
when CLIENT_DATA {
determine that beginning and end of the message was received
if end of the message was received {
LB::detach
}
TCP::release
TCP::collect
}