I think that if you're awkward enough A) to ask someone how much they clothes cost and B) tell them a hair colour not their own is classier, you're probably overestimating your conversational skills. I mean, we all say dumb things by mistake every once in a while, but this is basic stuff.
On their side, though, I'd guess that they've decided you're a bit of a loser and are oriented to take issue with absolutely anything that comes out of your mouth. Impressions like those are almost always permanent, so don't expect change to come unless you initiate it.
So... take your pick: Have a heart to heart with each of them separately (or maybe just the ringleader) and confess to them that while you admit you've said some pretty dumb things, the constant friction is really wearing on you. If they're anywhere near decent people they'll stop at that point (expect a few slip-ups, but it should mostly cease).