Hi,
Yes you can use date field to set Date of Birth, our date field type have 3 type of views on profile (date,age,years ago). For example on this site we use Age display type, so in edit/profile registration you can set DOB and in profile view you will see the age value.
To create a module to show upcoming birthdays you can use the parameter Custom SQL Where (in free version you not have a module but you can see this parameter in Users List menu item).
In SQL custom parameter you can set a filter to choose users with value of DOB field between today and 5 future days, you can use syntax like this (this is a SQL syntax):
dob_alias_field > CURDATE() AND dob_alias_field < ( CURDATE() + INTERVAL 5 DAY )
we not have tested this SQL where parameter but but it should work