S.
It sounds like even though you two have fought about what she wears you usually give in because you don't have time to fight and even though you tell her she will stay home from preschool she probably never has, so you are teaching her that if she makes a big enough deal about it and goes long enough then she will get her way and you will walk away frustrated. My daughter can be difficult like that too, she hates those side tags that they are starting to put in shirts, especially the tagless shirts, and I have to admit that they do sometimes scratch, so I took my thread puller and pulled the all out so she has nothing to complain about and we don't have problems with her, also we started letting her pick out her clothes when she was three because we got tired of I don't like that lines we would get in the morning. now we do have to approve the outfit, but if she doesn't like it then we don't get it. And when we get it home if she says she doesn't like it or whatever we say you picked it out and that is the deal so not to complain and that has worked for us. You could resort to punishing her when she doesn't wear her clothes you pick out for disobedience but that is up to you.
Oh side note, gap, old navy, and kohls among so many other stores are now carrying adjustable tab pants, you can adjust them tighter or looser depending on what they need, so you can get them as long as you need which for us mean buying a 6 for a 5 year old and then we can tighten the waist so they don't fall off. Good luck .