Chandimal, 27, missed the first Test due to pneumonia, as India won by 304 runs at Galle, but will return as Sri Lanka look to level the series at the Sinhalese Sports Club Ground in Colombo.
He will be joined by batsman Lahiru Thirimanne, who last played an international Test in June 2016.
Thirimanne will replace the injured Asela Gunaratne, who has been ruled out of the series with a fractured thumb, while seamer Suranga Lakmal has been excluded due to back problems, according to media reports.
Left-arm spinner Lakshan Sandakan, who was dropped for the first match, is set to return. Veteran Rangana Herath, who suffered a finger injury and failed to bat in the final innings of the first Test, has been retained in the squad.
India can seal the series with a win in Colombo, before the final Test commences on August 12 at the Pallekele International Cricket Stadium.
Squad: Dinesh Chandimal (captain), Angelo Mathews, Upul Tharanga, Dimuth Karunaratne, Niroshan Dickwella, Kusal Mendis, Dhananjaya de Silva, Danushka Gunathilaka, Lahiru Kumara, Vishwa Fernando, Nuwan Pradeep, Rangana Herath, Dilruwan Perera, Malinda Pushpakumara, Lakshan Sandakan, Lahiru Thirimanne.
IMAGE: Sri Lanka captain Dinesh Chandimal during a nets session.
Photograph: Matthew Childs/Reuters
Current team has achieved more than lot of big names: Shastri
Shastri adds a different hue to Team India's training style
India have a 'good headache' to deal with going into 2nd Test
Pujara still a student of the game as landmark Test approaches
PHOTOS: Kohli & Co. chill out after Galle triumph