NBA owners have no legal right to exclude 18 year olds from their league. That would be an anti-trust exemption, and the perfect example of collusion. The NBA isn't supposed to be a singular business, it's supposed to be 30 separate businesses competing with each other. If one owner wants to say he won't take an 18 year old for his team, that's fine. He can say he'll only take college grads, or only take guys over 6'5". Whatever, he'll probably be able to do it as long as he's not breaking any federal civil rights' employment laws. However, if all 30 owners get together and try to make those rules league-wide, they're going to have major problems with antitrust violations and collusion.
The only reason owners get any age restriction is because they collectively bargain it with the player's union. Otherwise, someone would challenge it, and they would probably win. The whole reason age restrictions got tossed in the first place was because Sam Shulman, who owned the Sonics, decided that he wanted Spencer Haywood ASAP, and encouraged him to take the league to court. Haywood won that case.