You would probably want to create 1 arrow sprite. Set each frame of it do a different graphic. Then give it some basic stats like damage, speed, etc.
Then create a function called "CreateArrow"
Whenever you want to spawn an arrow you would call that function, and all of the parameters would be based on the parameters you specify when you call it.
In the function would you setup a bunch of IF statements to determine which kind of arrow will be generated.
On call function "CreateArrow" , " poison", "300", " 10 "
If function.param(0) = "poison" -> set damage to 100
if fucntion.param(0) = "fire" -> set damage to 200
blah blah blah...
create object "arrow"
set arrow.type = function.param(0)
set arrow.damage = function.param(1)
etc etc
Another option is to look into the "nickname" plugin by rexrainbow
you can create objects ahead of time with different stats/looks, and give them a nickname that you can call at any point similar to the way you described