WebDAV (like REST) relies on HTTP for transfer and therefore the entire support is built on top of a request-response model. Also, both REST & WebDAV can handle any number of repositories since the repository name is nothing but a path segment in the URL (like http://localhost/repoName/etc).
I'm not sure what you mean by programmatically though, since using WebDAV means your application acts as the client which is communicating remotely with a ModeShape server. If both your application & ModeShape are collocated in the same server (JVM) then IMO it makes little sense to use WebDAV. Your best bet is probably using JNDI (i.e. retrieving the repository via JNDI - Using ModeShape - ModeShape 4 - Project Documentation Editor) and interacting with the repository via the JCR API.