The 27-year-old scored six goals in 35 league games for Wolves after signing from Bolton Wanderers in January 2016.
Mason has slipped down the pecking order over the past year, however, and had loan spells with Burton Albion and Major League Soccer club Colorado Rapids last term.
"We worked together at Wolves and he's a player who's spent much of his career in the Championship," Pompey boss Kenny Jackett told the club website.
"He's scored goals at that level and I'm convinced he can do the same for Pompey, so we're delighted to add him to the group at this late stage."
Pompey sit third in the League One table, having picked up four wins and a draw from their first five games.