zbyt and za have the same meaning and can be often used interchangeably. They can be both used in this sentence.
( keep in mind they mean too when it is before the adjective or adverb, English has different too at the end of the sentence (also), we use different words for that)
No. "zawczasu" is quite an old-fashioned word (it doesn't even have an entry on Polish wiktionary) and it means "earlier", not "early". So you could probably say "Przygotowała kolację zawczasu" to mean "She prepared the supper earlier, so she would have more time for other preparations for the guests' visit".