1) How could this be so hard to fix? Solution: don't use z-levels when calculationg the path unless stairs exist between two tiles. End of problem?
The problem isn't in calculating the path, that will correctly take into consideration distances to stairs. However when trying to locate the nearest item pathfinding to it is slower than a 'as the crow flies' distance check. You get the same problem with long walls and items on the other side of it but people tend to be better at designing for that in 2d than in 3d.
Personally I'd just do the pathfinding on each object (closest first) to find the true distance until one is less than the next as the crow flies distance. But that might kill those with slower computers.
2) This problem seems harder to solve. There must be a prioritizing system built into the items, so that better equipment has a better ranking. This, together with a better command ("go get an iron axe" instead of "go get an axe") should solve most of the problems.
Actually this is easier to solve than the above (and still keep performance), your solution is the one I'd use too, just allow material specification or weight things towards better materials by default. Ideally allow a best material / worst material layers so trainees can be given 'anything in wood' orders.
3) Mark tiles between archers and their targets as forbidden.
Archers don't shoot each other anyway, so why bother?
4) Come again? Hide them from sight? They are still there, but invisible? They still takes up memory? Solution: Add an option to not create boulders when mining!! I mean if bad miners can pulverize solid rock into small gravel, so should good miners, if they need to. It should off course be selective, so that only useless boulders are destroyed.
I never understood the hide from sight thing either, but the mass dump designation is handy. I dump rock to stop my masons using colours I don't want them too (yes I have issues), although I guess I could mass hide and mass forbid. Memory however isn't an issue, they don't use much for a rock or even 1000 rocks, and hopefully the DF logic is smart enough to ignore forbidden items in search functions.