what you're doing is a wonderful - if low-tech - way of dynamically controlling your html page.
it gives you immense control over what you want loaded, and it allows for html updates on the fly
(not unlike updating an in-app database periodically). for example, i have a map app. as map
providers come and go and change their endpoints, my users can download new provider information
without having to download and install the app. if you divide your html (as you are already doing), you
can do hot fixes, as needed. or even modify css.
there is another way using javascript that essentially builds the page piece by piece, which is what you are
doing already. with a fair amount of effort, you could modify that approach so that you send a javascript
command to the webview and have the css script become part of the html. you would have to cause the
page to be reloaded, however, as i do not believe it is possible to alter css formatting after the page has
already been loaded.
i don't see the advantage of approaching it this way, based on the very happy results i have had creating
pages dynamically before loading in accordance with whatever css and code that i want to be in place
in a given situation. amazon, among others, have been very successful creating web pages on the fly.