So if you leave the Surf configuration with the "alfresco" runtime this will ensure that your application starts with a Model Object Service (the service that is used to access Surf configuration objects) that is able to use the Alfresco repository to retrieve Surf configuration objects from. Although Alfresco Share currently only stores configurations, pages, components and module-deployments in the repository it's important to note that this is not the complete list of Surf objects it can store (all other Surf objects: template-instances, themes, component-types, page-types, etc) can all be stored there.
Your use case (manually adding Surf objects to the repository) is not one that I'm aware that we've tested, but I have no reason to believe that it wouldn't work. However, I'd recommend that when creating your application you start by developing as a local web application (by placing your Surf object configuration files in WEB-INF/classes/alfresco/site-data.
What is your planned approach for dealing with WebScripts, application resources (JavaScripts, CSS, images) and templates? Again, I'm sure it should be possible to use the repository to store these but it may be necessary to modify the Surf config/Spring bean configuration to ensure that WebScripts get loaded correctly and you'll need to ensure that you construct your request URLs correctly to retrieve the resources from the respository.
Regards,
Dave