OK, this seems to be working for the third task. To test it, open the attached MDB, open the form frmFindSimilar, and enter parameters for year and month.
For example, for April (month 4) 1975, the only similar year is 1994.
There is no similar year for the current month 2010, 8, but there are for last month (2010, 7 returns 1733 and 1752) and next month (2010, 9 returns 1790 and 1991).
The form relies on the queries qryBasePeriod and qrySimilarPeriods (SQL statements below).