Set number of free events for members
I can not think of a way to limit the number of events based on a membership out of the box. 

I would certainly add a custom field to a membership which I would then populate automatically based on the membership type with the CiviRules extension (more information here: https://docs.civicrm.org/civirules/en/latest/).

What CMS are you using?