if no one has explicitly set any page layouts in child sites, it should inherit by default. And, by definition, if you're creating a site from a template, you wouldn't have any child sites yet. However, if you ever wanted to write cod that would explicitly set the available page layouts (other than in the onet.xml file like you were noting), you could use the PublishingWeb.SetAvailablePageLayouts method. That method actually has a resetAllSubsitesToInherit property.