Yes, allowing them to select a value which proves they cannot use your service/product can make it clear that the user is not allowed to sign up; using a validation message you can make it immediately clear why they are now disqualified (or allow them to change the birth date if they entered it wrong).
If you disable disqualifying years, users are actually forced to pick a date that's valid; users that ignore the warnings may unintentionally sign up, against your Terms of Service, because they just used the default or lowest allowed age on the form. You're making it very easy to misrepresent one's age if you are underage, even if the user isn't doing so maliciously.
Note most forms asking "Are you over 18?" always have a "No" option, which usually boots the user to a "safe" part of the site or cancels the 18+ action.
Note there are some cases where you don't want to include disqualifying values; credit card forms almost never allow you to give a past year in the expiration date column. This greatly limits the amount of years you can pick from and makes sure you don't think you can use your expired card.
This is also a bit different from the age case; the users' age really is under 18/whatever, so it's valid input. Technically if you're asking for a valid credit card, past expiration dates are not valid, even if such a card really exists.