Well, thing is, walking time should have no real significance whatsoever. All I want is that a task that is started should be completed and not be aborted. As far as I'm concerned the only walking time that should be of any concern is when a dwarf is going to bed and risks falling asleep in some corridor - and this is such an insignificant part anyway since most of the time the dwarf will make it to his bed.
As for fetching items for tasks, I would add that this game would probably be at it's best if dwarves simply fetched the "nearest" fitting material or whatever instead of specific materials. Maybe then one would actually have more usage of certain stockpiles. I suppose that this has been wished for before, right?
Frankly, if you have a bunch of different stone types for instance, you should get a list of all the available types, and not each and every individual stone. So when you construct a building, you simply tag the type you want and the dwarf simply fetches the nearest available stone of that type. If a construction requires several stones, you simply tag whichever stone types you want several times and the selection that you made is listed somewhere.
That way you also won't have to suffer those silly long lists anymore.
Basically this should go for all items - instead of listing them as individual items and getting huge lists, group them "moonstone ring(s)" (maybe also seperate them by quality - the list will be bit bigger but still by far smaller than having everything as individuals), "granite rock(s)" etc, and then simply have the dwarfs fetch the nearest available.
Simple, no?