>>31053484TPPAC (a hack done by some of the same devs as Prism from earlier this year) had a feature where Bill would call you asking if you want to change boxes as soon as your current box gets full. From what I've been told there are remnants of that code in Prism but it wasn't utilized for whatever reason, possibly planned for a later version but not finished in time.
The shitty boxes in Gen 1/2 are a hardware limitation rather than a conscious design choice. You can only fit so much data in a bank and Pokémon data takes up a lot of room (relative to how much RAM the carts have).
Fun fact: In the Japanese versions of RBY and GSC, each box could hold 30 Pokémon and there were less total boxes, but they couldn't fit 30 Pokémon in the space needed for each bank because nicknames take up a lot more room (relatively speaking for the Game Boy) than in Japan, ten characters compared to five, so they cut it down to 20 per box and added more boxes to keep the same total 'mons that could be stored. This is why there was a sudden jump from 20-per-box to 30-per-box in Gen 3, because the GBA didn't have to worry about space nearly as much so it could stay consistent with Japan.