Right now I do have a goHome() for my working turtle. It simply follows the y back, and then the x back. So if it ends up at 20,-3 then it will first travel three tiles east, then 20 tiles south. In my code, z coordinates is actually z, not the crazy minecraft y.
For this, I would mostly suggest you set a level of return. For instance, my working turtle always has a clear path at ground level, so it always goes back to z0 and then goes home. Later, when I start adding multiple turtles, sorting chambers, or otherwise complex working arrays, then I'll probably try and get the turtles to go to like, level z10 and then go home and drop back down to level z0, to make sure they don't collide with anything below.
I could try my hand at pathing, but that's tricky because turtles aren't able to see, well, anything really. They can detect the 6 faces around them, but beyond that nothing. So they're much more likely to get stuck in a hole or find their way into awkward nooks if they try their own pathing. Although for pre-laid paths, I could do that fairly easily. My current plan would be to have the turtle carry two items, likely dispensed via tubes to let the turtle pick up. It would carry, for instance, a stone panel in the first slot, and an iron block in the second slot. It would then detect what's under it, and if it sees a stone panel then it goes forward. If it doesn't see a panel, then it tries going to the side. If it ever detects an iron block beneath it, then it would immediately stop and eject the panel and block. Ideally, you'd have a chest and some pipes there, so that when it dropped its items, they could be sucked back into the system for the next turtle to collect.
So, your turtle distribution system would involve a number of stone panels in a chest, and a number of other chests containing other blocks. When a turtle is to be sent somewhere else, then you get a pipe to drop a panel and "other block", which the turtle would then turtle.suck() - it'll follow the path of panels until it either hits a dead end, or it finds the "other block" and then it ejects the items to be put back in the system. You could then have a waiting disk drive or computer there to distribute orders to the turtle.
Of course, I say "panels" because you'd probably want to run some wires under the floor. It'd be an easy way to lay a stone floor, but make the center of it panels, and then wires hidden under the panels.