Yes you can create multiple controls in the same project, you simply have to place the all the default templates in a single /themes/generic.xaml file.  Each controls template is identified by the TargetType.  So your generic.xaml file would look something like:-
 <ResourceDictionary ... blah namespace stuff ...>
   <Style TargetType="local:CustomControl1">
     <Setter Property="Template">
       <Setter.Value>
         <ControlTemplate TargetType="local:CustomControl1">
           <!-- Template for Custom control 1 -->
          </ControlTemplate>
       </Setter.Value>
     </Setter>
   </Style>
   <Style TargetType="local:CustomControl2">
     <Setter Property="Template">
       <Setter.Value>
         <ControlTemplate TargetType="local:CustomControl2">
           <!-- Template for Custom control 2 -->
          </ControlTemplate>
       </Setter.Value>
     </Setter>
   </Style>
   <!-- and so on -->
</ResourceDictionary>
The Silverlight Toolkit chapies do have a neat tool which allows you to place each control template in its own file.  The tool dynamically constructs the generic.xaml from the contents of all these files.  I really wish they'd blog about it so we could find out how to use it ourselves.    Hello any of you Msofties lurky listening in?