How do I limit how far from a stockpile a dwarf is allowed to go to fetch items?
Short of creating burrows and confining dwarves to their respective burrows, each with its own stockpiles, there is no such feature in vanilla DF -- stockpiles will accept whatever they're set to accept from anywhere on the map (notwithstanding Forbidden or otherwise inaccessible items). Sorry. :(
I know of no mods that add this, either.