Of course you can just replace the sprite in the .grf you are using. This will make the client show the new sprite (which can be anything) for the selected job.
Might look weird in some scenarios since player sprites are of course the most detailed in regards to movement and animation indexes.
But if its as simple as that, for example using a poring.spr/.act, just add it to your server grf and name it the same as for example the swordsman spr/act and follow the folder structure. Your client (if data.ini is setup properly) will read your server grf first, notice that Swordman has a poring sprite and load that, instead of the normal sprite.