DispenserTweaks allows you to customize the behavior of the Dispenser when dropping certain items and this plugin can also be used as an API for adding custom dispense behaviors.
This plugin uses internal Minecraft code and is only compatible with already implemented versions, currently 1.7.10, 1.8.8 and 1.9, if your server runs a different version, write a comment and I'll add support for it.
Version 1.1 supports commands to change dispenser settings for a single dispenser (and the config options have been removed). Just use one of the following commands as a player and then right click a dispenser to apply the setting.
DispenserTweaker.registerCustomDispenseBehavior(262, new ArrowDispenseBehavior());
The first argument is the item id which you want to register a custom behavior for, for example 262, the id of an arrow and the second argument is a class implementing DTDispenseBehavior or extending DTDispenseBehaviorItem or DTDispenseBehaviorProjectile.
The source code is available on the Github Repository.