Afaik. there is a calendar field by Joomla, which allows you to select a date or probably date range. Is there a way to select a year instead of a date?
I decided to add age instead of year. The birth year can be counted from the age and I don't have a custom field type, not to mention I would have needed a way to inject the min and max year to the field. Which probably means loading the xml, finding the field with xpath and inject the attributes before using it for form generation.
<field name="age" type="integer" default="6" label="CUSTOMER_REGISTRATION_FORM_AGE_LABEL" description="CUSTOMER_REGISTRATION_FORM_AGE_DESCRIPTION" first="1" last="150" step="1" />