Optimising repetitive code

My sketch does half a dozen other things, and is apparently too characterful to be split across two posts. I'm more than happy to post it in sections if you think it'll produce a better response. Current functionality covers:

Get time from RN-XV module sync'd to NTP server
Play different MP3 samples on hour, quarter hour, half hour, three quarter hour
Run different (brief) LED routines to sync with MP3 samples as above
IR remote interrupt starts weather retrieval:
Get Yahoo weather API RSS for local area
Parse returned feed for 1 or 2 digit weather code
Play appropriate MP3 sample to give spoken word version of weather
Run different (brief) LED routine corresponding to one of 5 weather types

It's a large sketch, and I'm running something like 100 bytes short. I think I can pull that back from the six or seven routines I have which are similar to the above - I'm using separate but similar routines as the timing of each MP3 sample is veeeeerry slightly different, and requires individual delay values.