it may have in part been for technical reasons I suppose, if you look at Yagrum, he is very different from any NPCs in the game in the way he is set up. He is a bloated figure that can't move at all without the help of mechanical legs, constrast to the NPCs in the game, who look pretty fit to me, for the most part, and if Yagrum were an NPC, he'd be able to wear armor, which wouldn't make sense for someone of his physical state. Almalexia and Vivec are a harder question, since they're pretty close to the playable races in body structure and even use some of the same animations, I think, but perhaps there was some sort of technical reason behind the design. Primarily, the distinction between "humanoids" and "creatures" is a technical one anyway.
As for the Daedra you can talk to, I'd imagine it's simply because it was easier to just have them be "creatures" then create new races just to account for them.
I'm having more hard time on wondering why could you soultrap Yagrum, for he is of a humanoid species fully
One could also just as easily question why you can soul trap corprus beasts, since Yagrum also has corprus disease, granted, Yagrum hasn't lost his ability to reason, but I'm not sure that has much to do with it.