No, all you can send/receive is individual bytes/characters, just like Serial.print() does to the serial monitor on the pc.
So your stepper command message could perhaps be a command code like 'S' followed by a stepper number byte 0 to 3, followed by a 2 byte value for the new stepper position. You can use highByte() and lowByte() functions in the master sketch to split the stepper position into two bytes.
I was forgetting your relays. You could send 'R' followed by a relay number to switch one on, and send 'r' followed by a relay number to switch one off.
An Arduino only has one processor core, so it can never truly do two things at once in the everyday sense. But most tasks can be broken down into a series of very short actions, and the Arduino can perform these very quickly, giving the appearance of doing many things at once. Your sketch is doing this already, for example if a stepper is required to move 1000 steps, the sketch is doing this one step at a time and performing other short actions between the steps.