The 25-year-old spent the last couple of months of last season on loan at Kingsmeadow and helped the Dons avoid relegation on the final day.
Manager Neal Ardley offered Sullivan a permanent switch but he has instead opted for Pompey and will sign a two-year deal when his Addicks contract expires on July 1.
He told Portsmouth's website: "I'm very excited to be joining Pompey.
"I was down at Wimbledon for the final part of last season. It's a great club and I owe them so much.
"But this is a great opportunity to come to a big club at the start of a new project. As soon as I heard of Pompey's interest, it was an easy decision. This is where I wanted to come."