Yeah, the hard bit is retaining the memory of where you left off. That can get very complex, very fast, depending on your programming skills. And (assuming this is a seam-welding application and not a spot-welding app) you probably don't want to break welding in the middle of a seam.
My rough-and-ready suggestion is to break up your stainless welding into smaller subroutines, perhaps one for each seam. Have the first and last point of each seam program be the same position, some sort of "clear" position above the work piece from which you can go into any seam program, or go home, or jump over to one of the side-cell welding programs.
Then set up your "main" program something like this (note, this is not valid RAPID code):
CALL StainlessSeam1Program()
IF SideCellReadySignal THEN CALL SideCellProgram()
CALL StainlessSeam2Program()
IF SideCellReadySignal THEN CALL SideCellProgram()
CALL StainlessSeam3Program()
IF SideCellReadySignal THEN CALL SideCellProgram()
....and so on
This basic approach can be refined to whatever degree you want and feel comfortable doing. You'll still have some wasted time, probably, but the worst case waste will only be the amount of time your longest StainlessSeamX program takes to run.