It is my personal belief
that causing and maintaining building shortages is central to bringing a game of Monopoly
played by the official rules to the only natural ("The last player left in the game wins." & "The object of the game is to become the wealthiest
player through buying, renting and selling property.") conclusion more quickly than without them.
The rules require, "If there are a limited number of houses and hotels available, and two or more players wish to buy more than the Bank has, the houses and hotels must be sold at auction to the highest bidder."
In detail, in a building shortage situation, we play this as literally as we can. As long as the shortage condition persists, one building at-a-time is offered at auction — first houses and then hotels (since they appear in that order in the rule). If at the end of an auction the remaining buildings are uncontested, i.e. sufficient to meet the current requests of the players, then they are purchased at face value. In an auction, a building can potentially be purchased at below face value based on the similar situation of auctioning a declined property, "Any player, including the one who declined the option of buying it at the printed price, may bid. Bidding may start at any price." Btw, in both situations, the highest bid offered must be paid, i.e. it cannot be excused. If the high bidder cannot pay then they go bankrupt, "A player is bankrupt when he owes more than he can pay either to another player or to the Bank."
Going bankrupt is the only way to bring a game to its' natural conclusion. Without building shortages, e.g. using extra houses and hotels from other sources, more players can collect the higher rents of improved properties and delay going bankrupt. With building shortages, otherwise well funded players lack the avenue of improving properties to increase income -- their funds will be depleted more quickly than replenished when they land on improved properties as opposed to the lower rents they collect on unimproved or less improved properties.
A player selling a building is at no advantage when it comes to purchasing buildings. Suppose there aren't any buildings available from the Bank. A player might desire to improve a property but must wait. Suppose further they already have buildings on another property. They might sell those buildings (albeit at half-price) to make them available. At this point the buildings are available to any and all players. The selling player can't reserve them for themselves.
"... a player may buy and erect at any time as many houses as his judgment and financial standing will allow." Such a transaction is openly observable to all players. The transaction is not complete until the funds are in the hands of the Banker. The Banker should not accept funds until it is clear that purchased buildings can be deployed properly. Prior to that other players may assert their interest in buildings; potentially creating a shortage situation.
The player with control of the dice may throw them and move at their convenience. They are not obliged to wait for anything else, e.g. trades, building purchases, etc. A player does not take control of the dice until the previous player completes their turn including the paying of debts, etc. We take this to mean there exists a race condition -- a quick throw of the dice can land a player on a property before it is improved. We play that the throw of the dice is all it takes; even if a building is placed on the destination property prior to the movement of the piece the player pays the previous rent. A single unsettled die, e.g. spinning, tilted, fallen off of playing surface, etc., is enough to allow the deploying player time to place a building on a property before determining the rent amount.
In my experience when building shortages are agreed to in advance and implemented consistently and fairly it not only shortens the playing time, it also eliminates/reduces bad feelings. Few, if any, mind loosing if they have bad luck and/or are beaten to the punch fair and square. Likewise, few, if any, enjoy an endless or unnecessarily protracted game.
Btw, our position is any and all trades must benefit both players involved in the trade. We won't play again with any player that makes an unreasonable trade.