I really thought about programming something similar but I decided to go with a less complex lighting model at first. And another reason why I'm using my current approch is my lazyness because I didn't want to create a model for every sprite to apply multiple textures.
Edit: now that I think of it, maybe ent_setskin works for that
Maybe I'll use something similar later, but at the moment it is more important to get used to the artstyle ( making lots of sprites ) and things like this.