All you need to be able to pay a bill online, or in person, is the exact name of the business account, the sort code and account number.
I am concerned that the business you say you need to pay £1,900 to hasn’t furnished you with this data.
Did you ever have an invoice? It is the company’s responsibilty to furnish this not the bank’s responsibility to find it. If you had an invoice and lost it, the business should supply another. Have you sent them an email to request this?
However, any customer wanting to pay a large bill with no documentation should raise a red flag with the bank, but the most they might have done is to freeze your account, which I am guessing you would not have been happy about.
Cf the publicity about the woman targetted in the Rolex scam (recent thread here). She went along to the bank branch saying she was buying expensive watches for her son and grandson from a local jewellers not far from the bank. The business name she gave the bank along with the sort code and account number (on the jeweller’s own stationery) were valid so the bank paid the invoice. She subsequently claimed they should not have done.
The same day, she went to another bank trying to withdraw money to buy a car but had no paperwork so that bank declined the transaction and froze her account.
You seem to be suggesting that the bank find out who the money should be paid to. But that is not the bank's job. To my knowledge there is no central database of business accounts. In any event some traders use personal accounts. All banks can do is to match an account name with the sort code and account number it is given.
You are perfectly at liberty to change banks but you would have received the same response from all of them. They would not have been able to move money for you without the account name, sort code and account number.