G,
Ok, now heres the thing, when importing new models into half-life[not replacing models, but adding] then the models will have to be coded into half-life, although if you have a v_pistol, you can try renaming it to v_9mmhandgun. This is what I would try if I where you, however, sometimes, depending on weapon models, it may have different sequences, and may function incorrectly. If you wanted a more powerful pistol, replace the v_357 model. This is giving you different skins, but really it's just replacing the models.
Now, importing them in spirit. You see the Spirit.dll is just like the original hl.dll, except with added features, and unfortunetly theres no new feature to add weapons without coding. You would have to code the new model into the spirit.dll. As mentioned in the Xen Assault thread, we tried getting around this with grunt models, and even though we coded the model into the spirit.fgd so that it could appear in Hammer, once compiled, We got an error 'Can't Innitiate monster_human_grunt.'
This is because it was not coded in the dll. This is the same thing that happens with weapons as well, but it just gets looked upon from a different angle. So modifing your pistols power could be fixed by replacing it with the v_357, and p_357, so it has the same power as the 357, only doesn't look like a 357.
That said, you were asking about having the grunt carry your weapon. Then drop it once dead. This is a bit more tricky, and may need to be coded. Another option that you can try is by using the monstermaker entity, and the 'Move With' function found as a new option in spirit.
I've never tried anything like this but I think it could be done.
First check to see if the monstermaker entity has this function (move with) If it does put the name of the grunt in that field, so that the monstermaker follows the grunt around, then set the grunts 'killtarget' to the monstermaker so when the grunt dies, it triggers the monstermaker to spawn the pistol.
This function is not really solid however. For example for an env_sprite, or env_ladder to move with a function train, it will have to be triggered at the same time as the func_train, then the sprite will move along with the func_train...
Now, the thing is, if we were to do this with the monstermaker, it may not move with the grunt, hence, when the grunt is killed, the weapon will be spawned elsewhere, Or if you where to trigger the monstermaker to move with the grunt, it might just spawn the weapon. I'm sorry I can't be of much help.. but any further questions, I'm willing to help.
~Unbreakable
Good Luck!