This is rather good. Here, the main clause Non cavum… is elliptical; there’s no verb. That’s alright, but I would insert dico ‘I mean’, giving “I’m not talking about an ugly, nasty, wet hole”. Non cavum turpe, sordidum, umidum dico. The narrator making an appearance here is quite in tune with the “Hobbit” and also classical writing, where every story is the report of an author. Now, for the relative clause “that was filled with the end of worms etc.”, in this case, I’d simply supply a participle, just like Tolkien. If it’s too heavy, your passive construction works fine, too. Remember, however, that the agent of a passive sentence is expressed by the ablative (in english with ‘with’ or ‘by’): cavum, quod caudis (‘tails’) vermium vel odore cariei implebatur. Maybe the ablative is wrong in this particular case, because words meaning ‘full’ go with genitive’. I prefer cauda for the ends of worms, because latin doesn’t seem to use finis for the ‘spacial’ end of an animal (only temporal, if at all, meaning death) or any elongated objects.
Even better is just an adjective plenum ‘full’ with genitive ‘full of’: cavum turpe, umidum, plenum caudarum verium et odoris cariei. By dropping one of the other adjectives, you are consistent with the “rule of three” and the “augmenting members”, the first two members being shorter, the third one being augmented by another modification. Diomedes, Odysseus and foot-swift Achilleus.
vel is one of two words meaning ‘or’, the other being aut. The difference is this: The answer to “Do you want coffee vel tea?” is “Yes”. The answer to “Do you want coffee aut tea?” is “Coffee”.
“With nothing in it to sit down or to eat”, let’s break that down. "X with Y in it, doesn’t work too well in Latin. Let’s find a synonymic construction in English. “X, where Y is not present”. How about that? Or just: X without Y? sine takes the ablative of separation. Now, what we’ve got is not a thing, but a “to sit down”. Let’s try A hole, where you can’t eat or sit down. cavum, ubi nec sedere nec edere possis. The second person as impersonal you, just as in English, is very natural. The subjunctive possis is very unintuitive and obscure, but it belongs here. Relative clauses that describe consequences take subjunctive, for whatever reason.
So together, we’ve got:
I. In terra in cauo uiuebat pumilus.
II. Non cauum turpe, sordidum, umidum, plenum caudarum uermium et odoris cariei dico; nec cauum arduum, nudum, arenosum, ubi nec sedere, nec edere possis. Immo uero erat cauum pumilica, hoc est cultus delicatus
Edit and note: Contrary to that I said about the rule of three, I’ll leave three simple modifiers plus the fourth, longer one. It is clear that in these sentences they are related to each other and in parallel: nasty (think of German nass, ‘wet’) - dry; dirty - bare; wet - sandy; full - empty.