I don't see how can you manipulate things by defining subclasses of cl-source-file.
I have to admit that I don't understand how components are created in asdf. My best guess (by looking at the class-for-type function) is that everything defined in the defsystem by :file and having .lisp extension becomes *default-component-class* which is cl-source-file.
And I neither want to introduce a new syntax next to :file, nor change my lisp file extensions to something else. So I don't see how your components can become subclasses of cl-source-file at all.