it is not very clear what you are asking for - giving you back 1km ??? Could you explain a bit more?
For the second part of your question, you could create a text field that says dirt road, footpath, etc and then use the 'directions' feature when building your network dataset. then the result will give you something like a turn by turn 'text' directions with traversed distances.
very interesting question.
just some idea, (will work if you have limited number of starting points and you have directional attributes of speed/time)....
I propose that you use service areas. let us say you have n number of starting points, develop a service area of 7.5 minutes when you want to have a 15 minute travel time, and 10 minute for a 20 minute trip. Be sure to use, 'line class ' for service area. This gives you an idea of where you should place your second point (destination point) and you know points from where the user can turn and come back. (this is assuming that time taken in to direction is same as time taken in from direction)
You can also you the topostion and fromposition parameters to play around for a little bit of custom solution. see here
If you have a detailed directional network, you could create a simple route with maximum distance 10 minutes and be very careful that your destination point is behind your source point (based on your road direction). By doing this, the route will try to go around the network to come back to your destination within the maximum distance you specified (if a route exists) again this is again on the wierd assumption that walking people will also switch road sides when walking in the reverse direction. 🙂
Not sure if this makes sense, but just some initial thoughts to build on?