What is the point of reserving two IP addresses in a subnet when one might suffice?
[...] If it's theoretically possible, why is it avoided?
We live with our history. The distinction between address of the network and broadcast address was not so crisp as it is now. Some software treats the all-0s as a broadcast, some allows it to be a host, some neither.
Rather than find out exactly what everything in your current and future network requires, you can just "waste" the address to avoid any potential incompatibilities. Interoperatbility is for many organisations the overridingly important characteristic of IP.
The RFC "Requirements for Internet Hosts -- Communication Layers" (after the corresponding part of RFC 791) puts it like this:
1.2.2 Robustness Principle
At every layer of the protocols, there is a general rule whose
application can lead to enormous benefits in robustness and
interoperability:
"Be liberal in what you accept, and
conservative in what you send"
You have to remember that at the time, many of these things were experimental, and the best way of doing something might not become apparent until after you have millions of hosts. Also, the design of IP was competing against many other proprietary and commercial networking protocols; one of the reasons it became dominant is exactly because of this multi-vendor, multi-era compatibility.
So we live with this little wrinkle, and many others, as part of the price of practical networking we can actually use, rather than theoretical networking which might be better in small ways.