Can't you just give a lower price at 10 yards and again at 50 yards for example? Then you solve your baked in price issue and get to offer discounts on high amounts, incentivizing buying more.
But, you can do that if it doesn't fly too much in the face of customer expectation. In some industries, like printing, it's common. In fabric I think there's a strong expectation of a single price per length unit, though I suppose you could challenge it.
I don't think lots of price tiers is a good customer experience, so I decided against it as a long-term customer satisfaction strategy. I do wonder if it's costing me sales. Maybe I should set up an alternate brand that does tiered pricing and free shipping.