Barnett, who has made 17 appearances for Paul Lambert's side, joined the Canaries on loan from Albion in August.
"Leon has been colossal for us. He has become a fans' favourite," Lambert told the club website.
"I don't think anyone can say he hasn't always given everything he's got.
"I'm delighted he is set to join us permanently in January."
Barnett began his career at Luton before joining the Baggies for £2.5m in 2007.
Source: BBC Sport
Source: BBC Sport