I think you may be mixing different issues in the same package. First things first. As @whuber has just pointed, it is not clear whether your DV is really ordinal, or only your IVs. That would configure very different scenarios, depending on such clarification. For instance, if your DV is also ordinal, you could (and maybe even should) go for a Ordinal Logistic Regression, just as mentioned by @Scortchi. The skewed distribution of such a DV would be less than a problem in that framework.
Actually, being precise, the distribution of even a continuous DV is, by itself, less of a problem. What you should be more worried about is the distribution of the residuals of your whole model, not of the variables themselves. It is a common mistake to pay attention to the distribution of the variables not of the residuals.
So, if your DV is continuous and the distribution of the residuals is heavily skewed, you should try first to transform your DV (log transformation being the standard, but in some cases you may need to power the DV or to square root it). If no transformation of the DV works, try also transforming any continuous IV. If you still have no good luck here, I would go for a robust regression, which allows for much less well behaved distribution of residuals. It is fairly usefull, for instance, when you have strong bell-shaped distribution of the residuals, i.e. heavy tails in both sides (a scenario that may be very hard to solve through transformation of variables). In R, it can be accomplished very well with lmrob function.
But anyway, at the end of your question, you mention that one third of the DV observations are equal zero. This case may also suggest that you may have a zero-inflated scenario and, thus, may need to look for models that can account for this kind of issue, such as the Zero-Inflated Regression models.
Hope this helps, but any further insights depend on you better clarifying your variables and the specification of your models.