We say "a three-day vacation" (or "holiday", in British English) just like we say "a five-star hotel", "a two-car family" or "a two-horse race". There is no need to pluralise the number of days (or stars, cars, or horses).
This is because, when we refer to "a vacation" we are using "three-day" as an adjective, attributing the days spent as a quality of the vacation. Adjectives in English do not take the plural ending.
If, however, you don't use the article "a" in front of 'vacation', then "three days" may be used in the possessive, for example:
"I've just booked three days' vacation".
This is because the three days is a measure, not an attribute. It is like saying "six dollars' worth of gas".
I should just add that I don't think the former works with the word you used in your examples - "accommodation". I don't think days can be an attribute of accommodation, and it does not sound natural. I think you should use "three days' accomodation".