I can imagine a company not dealing with particular individuals - say, due to an ongoing litigation or some personal conflict, like a restaurant owner telling a rude/disruptive customer "we won't serve you ever again". And that probably would be both legal and morally okay.
However, for airlines that should (must?) be limited to not selling tickets - if they have sold a ticket, then they must fulfill their end of the bargain.
I run an online community and have had to ban abusive or just plain annoying users in the past. A few times those people will get in touch saying "OMGZ! You don't believe in free speech!"
Am I obliged to provide access to the platform i've built and paid for so that they can be disruptive and annoying? No. Do I support their right to go somewhere else and talk their crap? Sure! Absolutely! Go crazy! Just don't expect me to pay for it in money (hosting costs, etc.) and time (cleaning up the mess afterwards).
I'd go one step further, as air lines are providers of critical infrastructure, they should have damn good reasons to ban me from buying tickets at their airline.
Not really. Advance fares on most UK train lines are cheaper than advance fares on most planes IMX. The mistake most people make is comparing walk-up-and-go train fares with advance plane tickets.
However, for airlines that should (must?) be limited to not selling tickets - if they have sold a ticket, then they must fulfill their end of the bargain.