I understand that PIC S9(4) COMP is a 2-byte variable whose value is bounded by +/- 32,768 and that PIC S9(9) COMP is a 4-byte variable whose value is bounded by +/- 2,147,483,648.
What does the number (4 or 9) actually represent?
If 4 corresponds to 2 bytes, why is 4 bytes not 8?
Remember that COBOL was designed for business applications, where people think in decimal, not binary.
S9(4) means it must hold at least 4 decimal digits. The smallest basic type that holds 4 digits is 16 bits, so that's what you get assigned. S9(9), then, means it must hold at least 9 decimal digits, and that puts you into a 32-bit variable.
S9(5) would allow the number 99,999, which does not fit in a 16-bit cell.