Of course there is a way. You need a creature making program....I'd go for Near Infinity which can edit anything. Make the creature files for different levels of the NPC. You need to make a dialog file(s) for them using Infinity Dialog Utility. Items for them using IEEP. They need to be added to the Baldur.gam file using the NPC adder in IEEP. Then of course you need to make an AI script for them for when they are not in the party, but you can copy an existing one for that. You might choose to add the proper references to the NPCLEVEL.2DA file if you want the game to automatically select the correct level of your NPC to match to the player's level. Then if you want the game to control the dialog for the NPC as in when to activate certain sections of speech, you need to add the necessary references to dialog files in the PDIALOG.2DA file.
Hmm there is a more detailed NPC making tutorial on
www.teambg.com where you can also get the tools I mentioned.