Hey Sergio,
I'm not really sure what you want to achieve here? You want a doc lib per account? That should be very possible.
A way of implementing this is to make a CRM workflow that is run when the Accounts CRM form is run. In the WorkFlow you can do all the SharePoint Logic you'd ever want, also you can pass parameters from CRM via properties in the workflow, like credentials for the execution of the sitecreation process, account name/id/whatever and so forth, and you can make an output parameter where you store the URL returned from SharePoint when the site creation process finishes. (check out this link regarding Custom .NET workflows for CRM http://nishantrana.wordpress.com/2008/10/30/custom-workflow-activities-in-crm-40/ and how to pass parameters as input/output and so forth).
You can then update the CRM form and save a property on the form containing the url property value - how you store it in CRM isn't really my strong side - I just do the custom .NET part of it.
Now, in your workflow logic you can do basically what you want, and how you want to do it - be it adding a lot of doc libs to the same site, or creating a site + doc lib per account (that's the way I'd do it).
Now, to get the desired site setup and so forth, you can do two things. The site has to be a template where you've trimmed all the chrome and such away (if that's what you want). But the doc libs can be created from templates as well. Now, if you want a different type of template for each account, then you've got a lot of work to do saving all those templates, and an even bigger one remebering their names for when you have to store them somewhere you can get to that information ).
I'd suggest you make a couple of templates for a couple of account types, and then saving their names in CRM. Like, maybe making a custom object/form called Doclib Type and then make a reference to that from the account form, and update it accordingly.
Then I'd create my sites with the trimmed template, and then use the different Doc Lib templates to get the different types needed containing the different folders, you wanted.
Check out this pseudo code example, hope it explains it better (for the CRM workflow part, check out the link I posted above)
public string MyCreateSiteWithMethod(string siteTemplateName, string doclibTemplateName)
{
SpSite _myRoot= new SpSite(new Uir(<insertYourURLHere>));
SpWebtemplateCollection _templateCollection=_myRoot.GetCustomWebTemplateColleciont(<your lcid here>);
SPWebTemplate _template=_templateCollection[siteTemplateName];
SpWeb _newWeb=_myRoot.AllWebs.Add("MyTitle","MyDescription",LCDI, _template,"lastParameterIcannotRemember");
_newWeb.DocumentLibraries.Add(<yourDocLibName>,<yourDocLibDescription>,doclibTemplateName);
return _newWeb..DocumentLibraries[<yourDocLibName>].DefaultView.Url;
}
Hopes this helps,
/Martin