Hey, welcome to PPG!
I think that first of all, you need a good story reason for "low prices for low reputation". In Mass Effect, there's Renegade/Paragon meter, and having a Renegade meter means being able to make high Intimidation checks(hence, huge discounts). But in Baldur's Gate universe, I feel you're supposed to be punished for low reputation: guards attack you in Athkatla and Baldur's Gate, some quest-givers and NPCs react badly, and so on and so forth.
(Currently BG2 Tweaks allows discounts for evil chars, if I'm not mistaken - but that's an "ease-of-use" fix, not a story fix). I'm for story fixes, so... out of your suggestions, I think the best suggestion is using reaction modifier from charisma(so it's stronger for evil chars, and outshines bad rep), and optionally - kill the reaction modifier from reputation. Basically, add an optional "reputation does not change store prices any more, only charisma does" - just like in Mass Effect universe.