1. If we consult a specialist, that usually means we have no idea what's going on. Sometimes, we do it for "customer service" if a patient really wants the consult and doesn't seem to trust what we're telling them. If we know ahead of time that a specialist is going to say that they don't know the cause of the pain and there's nothing to be done, then in absence of customer service issues we usually don't consult the specialist. I'm sorry you feel you got a raw deal on that.
Why we focus on customer service issues is another interesting topic. It basically comes down to hospital admin, like most other bureaucrats, love customer feedback surveys (Press-Ganey being the most common) and doctors can get in trouble or even lose their jobs if their customer service scores drop low enough.
2. Unfortunately doctors are completely ignorant about the financial aspects of this. Likely the specialist didn't even know you would be charged $450 for his consult. I don't see any good solution to this problem, especially as we're taught in med school that the patient's health is the most important thing and financial aspects should be secondary. Not saying I agree or disagree with this, just that even if a doctor disagrees with this there's no way for them to change the facts.