Unless I'm mistaken, outfield players can't be recalled from long-term loans - unless they're merely being recalled in order to be sold.
Standard season long loans can be cancelled in the January transfer window for any reason, unless the contract terms specifically prohibit it(usually only done if a loan fee has been paid).