1. prepare sprite (png) = you can edit them in a photoshop, paint dot net or anything image editor.......
2. extract narc is contain sprite (target), (i no give you my list for that, sorry )
3. using BWSE from kazowar tools for easy import and export sprite (not at narc file, you can import from png file into ncgr, pallete automatic will rewrite)
4. you can repack these sprite using kiwi.ds or manual reinsert using crystal tile 2. up to you using these tools
but what you mean? soulsilver.sav? maybe you wrong section? if change and manipulate value of stat pokemon you can using pokegen or pokesav. is not changing sprite , just data and nickname only!
sav is just saving a data not containing a data. sav file on gen 5 is only containing data stat of pokemon, skin c-gear, music , pokemon musical.
last. if you want change sprite, you must edit sprite on ROM file, not at save file (sav)..........,