I think you might be out of luck: given you're presumably quite close to departure, the discount/advance tickets are unlikely to be available.
I agree that some fares can seem bonkers, but that's the reality.
As for complaining, the only way I know of is a letter, email or call to BA Customer Relations.
Sorry I can't be more helpful.