So on Jan 1, you can't update the previous year's data? You need to probably use something other than calendar year. Maybe 365 days or 1 year and use datediff() to determine if data is updateable.
In the form's current event, you can check the date of the current record. If it is more than one year prior to today, you can set the AllowEdits and AllowDeletions to false.
Private Sub Form_Current()
If Add("y", -1, Date()) >= SomeDateInYourRecord) then
msgbox "Data older than 1 year, cannot be updated.", vbOKOnly
Me.AllowEdits = False
Me.AllowDeletions = False
Me.AllowEdits = True
Me.AllowDeletions = True
The data should not be split into separate tables or especially not separate databases. If you run into Jet/ACE limits, it's time to upsize to SQL Server.