There are three groups of records that give a person's age in colonial New England records for the 17th century. The first group has to do with records generated by death. These include actual death records, gravestones, or probate records. Not all these records have the ages of the person in question, but can. I've seen wills where a person gives his age (William Buss of Concord) and I've seen children's ages given if they are minors in the probate papers of parents.
The second group are passenger lists. These records are comprised of actual lists of passengers, authorizations to leave the country, and derivative lists based on other sources. The last of this group rarely has ages.
The last group are court records, most importantly depositions, which almost always give an age. Other than the above, finding an exact age is difficult for this time period. You can use other records to derive an approximate birth year, but that is an altogether different task in genealogy, albeit an important one. If you don't own it, you need to buy: Ages From Court Records 1636 to 1700, Volume I: Essex, Middlesex, and Suffolk Counties, Massachusetts by Melinde Lutz Sanborn (Baltimore, Md.: Genealogical Publishing Co., 2003).