What if the blockchain saved space by trimming input txs on each transaction?
I see two problems here:
First problem is collision, since you chose only 24 bit out of 256 bit. You'll have to use a much bigger short form to mitigate that, so the big space you saved is now a lot smaller.  

Second problem is when you have to convert the short form to the long form. Lets say you stored the outpoint of the tx as cb7f35:index, now another node wants the block containing this tx. To reply, you have to construct this outpoint in its long form first. The only way to do that is to go through the entire history and find the long txid cb7f357d7034f93b89a227c2109182740f1798f5a006e9cd0930a380c06aca7e and send that. That process takes a lot of time, you could however index the blockchain based on txids but then you'll need an extra space to store the index that negates the space you saved.
You could not communicate with the network (don't relay blocks) to avoid all that, but why store the blockchain in first place? A better solution would be "pruning" it.