The former Arsenal and Middlesbrough player was a revelation in the Nationwide League last season in skippering Pompey to the First Division Title, but has left Portsmouth amid rumours he felt unable to cope with another season in the top flight.
Merson, who is based in the West Midlands, claimed that the distance involved was also a barrier, stating: "I enjoyed my time at Portsmouth but the travelling was very hard and I could not see it working out.
"I'm looking forward to playing for Walsall - they play 'total football' which is what I like".
Merson had a year remaining on his contract but Portsmouth have agreed to release him in order to join cash-strapped Walsall ahead of Pompey's first season in the top flight since 1987/1988.