I was wondering if there was a way to get default symbology in a GDB feature class with subtypes? I don't want to create a layer file for each feature class. Is there a way to have the symbology built in?
Technically yes, but it kind of depends on your situation and existing data. What you're talking about are Feature Templates, also discussed at this blog post. However the templates may not display as you set them if there are already features symbolized in the map.
If you do have existing data symbolized in the map, you don't have to create a layer file for each feature class. A layer file can contain symbologies for multiple feature classes or even the same feature class multiple times - you just have to group the layers and then save that group to a layer file. You can then load them as a template and ungroup if you need to (some tools have issues with grouped layers, nested groups, or groups nested more than one level deep).
Feature representation is the only possible way of embedding Feature Class symbology within database. After enabling feature representation for a feature class, define its subtype base on RULEID field.