Stephen Davies wrote
This seems like it just plain ought to work:
CHIP Bus {
    IN a[4];
    OUT b;
    PARTS:
    Not4(in=a,out=x);
    Not(in=x[3],out=b);
}
 
In this case, do the sub-busing when you create x: 
CHIP Bus {
    IN a[4];
    OUT b;
    PARTS:
    Not4(in=a,out[3]=x);
    Not(in=x,out=b);
}
But I think you're implying that you want to use the full width output of the Not4 for something else, as in:
CHIP Bus {
    IN a[4];
    OUT b, c[4];
    PARTS:
    Not4(in=a,out=x,out[3]=x1);
    Not(in=x1,out=b);
    Foo4(in=x,out=c);
}
Notice that multiple wires are connected to Not4's 'out'.
--Mark