McLeod, who joined in the summer from Barnet, scored 11 times in 26 appearances during the first half of the season but has left Pompey by mutual consent.
Fellow striker Connolly, who has 41 Republic of Ireland caps, has played for the likes of Sunderland, West Ham and Wigan. The 35-year-old had been a free agent since leaving the Saints at the end of last season.
"This is an historic club with a great tradition," Connolly told Pompey's official website.
"I'm very honoured to become a Portsmouth player.
"It's a big challenge, but when I joined Sunderland in 2006 they were fourth bottom of the Championship and we ended up winning the league, so it doesn't faze me."
- Sports & Recreation