Potion brewing is working on a strange way:
1) Brewing a potion costs more than buying it.
This is tied to the coded-in costs for the item creation feats. You'll have to ask Vincent or someone else with coding know-how if changing that is both possible and reasonable.
Unfortunately, I'm afraid you don't understand how Cast Spell items such as potions, wands, scrolls, etc. work in NWN.
In NWN, all the Cast Spell abilities have pre-set caster levels. Sometimes, in some cases, there are multiple version of the same spell at different caster levels - for example, we have the Lesser Heal Potions that cast Heal at caster level 6, then the full Heal Potions that cast Heal at caster level 11. But those are the exception, more than the rule; the vast majority of spells in the Cast Spell option in the Toolset - which is the same list that is drawn from when using Brew Potion, Craft Wand, or Scribe Scroll - only have one option, and its caster level is set.
The reason potions always come out to such low levels is because the pre-set caster level for most spells that can be turned into potions is set low.
If Vincent really wanted to, he could add extra options to that list, with higher caster levels, or just change the caster level on the option that is already in the list. But:
* one, it would require a hak update before it could be changed;
* two, it will affect all items that have that Cast Spell property, not just player-made potions;
* three, it will adjust the cost of creating the item accordingly;
* and four, it will require that every shop that sells that item will need to have its costs manually adjusted there - we do not use the standard NWN shop pricing, but rather have each item's cost manually entered when created.
All in all, this is working pretty much as designed by Bioware. Brew Potion's a pretty wonky feat. (And IMO not very useful or helpful, primarily due to its level limitations.) There's a reason you don't see people take it more often.
As to why the potions are showing up in the shop at different prices, no idea. Probably a bug.