ASCII being 7 bits made it easy to support a larger 8-bit character set that extended it on 8-bit systems, but that is not why ASCII is 7-bit and not 8-bit.
If ASCII where 8 bits to start with, we probably would have had zillions of incompatible extensions that used Control-N and Control-O (shift out and shift in) to switch into and out of 'non-ASCII' mode (here's an idea to sort-of improve upon HTML and XML: instead of < and >, use shift in and shift out to delineate nodes. That way, we wouldn't need that < stuff)
Alternatively, the nine bit byte might have won the battle.
"The committee considered an eight-bit code, since eight bits (octets) would allow two four-bit patterns to efficiently encode two digits with binary coded decimal. However, it would require all data transmission to send eight bits when seven could suffice. The committee voted to use a seven-bit code to minimize costs associated with data transmission."
The fact that a lot of data transmission systems in the 60's where not 8-bit clean also probably played a factor.
What really happened was that the future took advantage of the fact that ASCII is a 7-bit code to be able to create the UTF-8 encoding in such a way that UTF-8 is backwards compatible.
The 8th bit allowed for various charactersets, encoded in Extended ASCII. The one most people know of is ISO-8859-1, also known as Latin-1.
It's more complicated than that, I wrote about it once at length here:
http://www.randomtechnicalstuff.blogspot.com.au/2009/05/unic...