Threads can't take arguments, I forget why - probably something to do with having them able to be run in the IDE. The only way that immediately occurs to me is to have a different Thread Sub for each simultaneous connection that you want and pick the IPaddress from somewhere known to each individual Sub.
B4X:
Thread1.Start("Main.Thread1")
Thread2.Start("Main.Thread2")
Thread3.Start("Main.Thread3")
Sub Thread1
ThreadCommon("1.2.3.4") ' get the address from somewhere
End Sub
Sub Thread2
ThreadCommon("1.2.3.5") ' get a different address from somewhere
End Sub
Sub Thread31
ThreadCommon("1.2.3.6") ' get a different address from somewhere
End Sub
Sub ThreadCommon(IPaddress)
.... ' using Locals is OK but beware of any Globals
End Sub