This is probably what’s throwing you off. Duration is not actually the key to this problem. Sustain is.
SC expresses rhythm in terms of Inter-Onset Intervals (IOIs), or deltas. At any point in the sequence, there can be only one “next time point” – that is, only one time delta.
SC uses the \dur key for time delta. So, as you probably already found, a Pbind sequence cannot have an array for \dur, ever.
But, notes can sustain for as long or as short as needed, even overlapping into the next event.
Taking a famous just-intonation “comma pump” example, the time delta here is always 1 beat – it doesn’t matter that the bottom voice is in half notes or that the top voice is syncopated – there is something on every beat, and nothing in between the beats.

But we can use the \sustain key to hold the notes for different lengths. (In an event, \sustain can be an array.)
(
p = Pbind(
\midinote, Pseq([
[55, 62, 67],
69,
[60, 64],
67
], inf),
\dur, 1, // IOIs -- all qtrs
\sustain, Pseq([
[2, 2, 1],
2,
2,
1
], inf) * 0.9
).play;
)
lgvr is also correct that you can use Ppar to split voices. The approach I’m outlining is more like a MIDI file. Both will play back the notes just fine, but they have different possibilities and different challenges for manipulating the music data.
hjh