Use the ranged weapon hack that was discovered a while back. Add the [RANGED:*weapon skill*:imaginary] tag to the fish spear, replacing the *weapon skill* with what you want it to be equipped as, in this case probably SPEAR. Then add the ammo [ITEM_AMMO:ITEM_AMMO_IMAGINARY]
[NAME:imaginary:imaginaries]
[CLASS:IMAGINARY]
[DAMAGE:0:PIERCE]
[STICK_CHANCE:0]
to item_ammo.txt. This will mean that they will use the weapon to fight with and their chance of hitting/damage will be based on their fishing skill, much as how picks' damage and hit chance are dependent upon the mining skill. It also means that every time the weapon hits the user will gain the 'fishing' skill, just as how swords cause the wielder to gain the swordsdwarf skill. There are some side effects, though, the first being that they will never spar with the weapon, and the second being that if you ever assign a speardwarf there is a chance that they will pick up the fishing spear. This does not mean that they will use the weapon for the task of fishing, the only exception to that rule is picks. Also, make sure not to add the new ammo to any races and use it only for the ranged weapon hack, as if you do add it and manage to find some you will be able to shoot it with your fishing spear.