Right, I understand how to get a bus out of a repeated sheet symbol and break it out to nets. That's how I have it set up in the bank sheet now. The question is if I have three sheets, where I repeat the channel sheet four times in the bank sheet, and then I repeat the bank sheet two times in the main sheets. So in the bank sheet I wind up with a bus of four nets, but I can't seem to bring out that bus in a repeated port, because that would logically result in a bus of buses, I guess, and Altium has no concept of that because why would you do that? Probably the most elegant solution would be for it to concatenate the buses into something like PWMA1, PWMB1, PWMA2, etc.
I could break the PWM[1..4] bus out to PWM1, PWM2, etc in the bank sheet as I have now, link those to individual ports, and then repeat the sheet symbol and wind up with four buses like PWM1[1..2], PWM2[1..2], which would probably work but would be super ugly.
I'd forgotten about harnesses, I'll look into those. Thanks