• What no one has mentioned is that you also have to consider the mechanics of the I/O.

    SQL Server is going to fetch a block (or several) at a time, not a arbitrary number of bytes.

    What was discussed is valid, but if the cumulative byte savings, per row, don't get an extra row (or more) into a block. Your savings are Zero.

    A complete block will be read, whether it's full or not.

    The advice in indexes is still valid, you can almost certainly get extra index entries into an index block.