That's because it was in January. That's the only time you can recall them. As a rule you cannot recall a season-long or half-season loan apart from in January. The only reason he could go back is because there is some kind of exception for goalkeepers in an emergency. No agreed clause would make a difference to the rules, it's just because he's a keeper.
I don't think it's because it was specifically in January. At the time, Bruce himself said that it was the last day Sunderland could have recalled Elmo (otherwise we'd have had him for the season) - and it was the 15th?
Nope. It was a season-long loan and they can be recalled any time in January but not before or after then. Presumably there is some exception for 'keepers.