No, Parallel Process Common Events do not run in battle.
For retaining party order, you can keep track of party members using variables, like so:
or it to work properly it needs to ‘know’ the ID of the member being added. Therefore, we can do it by setting a variable to the ID, then calling our slightly modified event. They would now look like this:
Adding:
@>Conditional Branch: Variable [2: 1st Party Member] == 0
@>Control Variable [2: 1st Party Member] = Variable [5: Member Selected]
@>Else
@>Conditional Branch: Variable [3: 2nd Party Member] == 0
@> Control Variable [3: 2nd Party Member] = = Variable [5: Member Selected]
@>Else
@>Conditional Branch: Variable [4: 3rd Party Member] == 0
@> Control Variable [4: 3rd Party Member] = = Variable [5: Member Selected]
@>Branch END
@> Branch END
@>Branch END
Removing:
@>Conditional Branch: Variable [2: 1st Party Member] == Variable [5: Member Selected]
@>Control Variable [2: 1st Party Member] = Variable [3: 2nd Party Member]
@>Control Variable [3: 2nd Party Member] = Variable [4: 3rd Party Member]
@>Else
@>Conditional Branch: Variable [3: 2nd Party Member] == Variable [5: Member Selected]
@>Control Variable [3: 2nd Party Member] = Variable [4: 3rd Party Member]
@>Branch END
@>Branch END
@>Control Variable [4: 3rd Party Member] = 0
Then, whenever you added or removed a member, all you'd need to do is this:
@>Change Party Member: Add or Remove actor
@>Control Variables: [0005: Member Selected] = <ID of Actor being added or removed>
@>Call Common Event (Add or Remove)
That would be a good way of keeping track of party order, and with that you could retain party order by shifting all party members out then adding them back in in order (you would need to write the event to do that, but it is not difficult).