How do I prevent a user from re-using the same password within a certain period of time?
You are looking to alter Password policy module:

A password policy can be defined with a set of constraints which must be met before a user password change will be accepted. Each constraint has a parameter allowing for the minimum number of valid conditions which must be met before the constraint is satisfied.
Current constraints include:

History constraint (checks hashed password against a collection of users previous hashed passwords looking for recent duplicates)


Now, all you need is to take this constrain and make a copy based on time, not number. Should be pretty easy, real difference is in one WHERE condition.
If module provides hooks, make it in your custom module. If it does not, provide a patch with your constrain.