The article "a" is missing in the English before "short dress" and "long dress".
In English, an article is required before a singular noun.
What's the best way to avoid repeating 裙子 ?
I'm guessing you could rephrase this as "你想买短的裙子还是长的?", if you don't want to repeat the 裙子. It would be translated as "Do you want to buy a short dress or a long one?".