Greg, it's really the double type that's doing the in-filling with zeros, not the table. In general, things in a table behave the same way they would if they were directly in the workspace.
I imagine you're doing an assignment something like
t.NewVar(someRows) = values
You might be better off "preallocating" with NaN before your assignment, with something like
t.NewVar = NaN(height(t),1)
t.(someRows) = values
Hope this helps.