Australia won the toss and will bowl first in Colombo, with Travis Head captaining as opener Mitch Marsh continues his recovery from a nasty testicular injury.
In-form Smith was called over to the subcontinent this week to be on stand-by for Marsh amid his injury, but had not arrived in time to feature on Friday (AEDT).
David plays his first match since pulling up in a Big Bash clash for Hobart on Boxing Day, one of two additions for Australia alongside quick Ben Dwarshuis.
Xavier Bartlett and Cooper Connolly drop out to accommodate the two new additions.
Smith, one of the BBL's standouts this summer, is set to join the Australian team on Friday night so could face Sri Lanka on Tuesday for his first T20I in two years.
Australia thrashed Ireland by 67 runs to begin their campaign on Wednesday, with Head saying at Friday's toss they were unfazed by a shaky preparation compounded by Marsh's injury.
"We're used to chaos early in competitions like this. It's a really relaxed group," the opener said.
Brendan Taylor and Richard Ngarava drop out of Zimbabwe's XI following their first-up win over Oman, replaced by Tony Munyonga and Graeme Cremer.
Taylor has been ruled out of the tournament through injury, leaving opener Tadiwanashe Marumani to keep wicket.
AUSTRALIA: Josh Inglis (wk), Travis Head (capt), Cameron Green, Tim David, Matthew Renshaw, Marcus Stoinis, Glenn Maxwell, Ben Dwarshuis, Nathan Ellis, Adam Zampa, Matthew Kuhnemann
ZIMBABWE: Brian Bennett, Tadiwanashe Marumani (wk), Dion Myers, Sikandar Raza (capt), Ryan Burl, Tony Munyonga, Tashinga Musekiwa, Brad Evans, Wellington Masakadza, Graeme Cremer, Blessing Muzarabani.