Denorfia played for San Diego and Seattle last season, batting .230 with three homers and 21 RBIs in 121 games. He was traded to the Mariners on July 31.
The 34-year-old can earn an additional $400,000 in performance bonuses under the agreement announced Friday: $100,000 each for 400, 450, 500 and 550 plate appearances.
Denorfia was selected by Cincinnati in the 19th round of the 2002 amateur draft and made his major league debut with the Reds in 2005. He is a .272 hitter in 705 games with Cincinnati, Oakland, San Diego and Seattle.
Left-hander Mike Kickham was designated for assignment to make room on the Cubs' 40-man roster.