As Wieger has also recommended in the comments above that you should chose a staging area (entities), where the data would be first imported and updated before taking it to the final entities. The staging area should store system attribute createdDate You could build the following functionalities:
1) You should create an entity EmployeeUpdateWindow with 3 attributes Month& Year, StartDate, EndDate
2) Adminstrator only should have write access to this entity and the managers should have read access.
3) Manager could be sent an email notfication every month, the moment this date is decided and updated in the system. This could be based on PostCommit event on this entity
4) The Page that the manager would use to access this table should have a dataview which should be populated by a workflow, which will fetch the data from the staging table where the month of the createdDate is current month and if the current date is between the StartDate and EndDate for the current month and year from EmployeeUpdateWindow. if you want to show records, but not allow to update, you could do this check in the pre-commit event on this entity instead in the feeding workflow.
Hope this helps,