Matthew
This functionality has already been addressed. There are parameters in the clock summer-time command that allow you to specify the dates instead of accepting the usual dates. See this:
test_1(config)#clock summer-time edt recurring ?
<1-4> Week number to start
first First week of the month
last Last week of the month
test_1(config)#clock summer-time edt recurring
HTH
Rick
HTH
Rick