Hi,
I am not sure how you are generating your subcatchments, but in the past I have used the ArcToolbox model (attached in "DHI_hydrology.zip") to generate subcatchments based on the ArcToolbox Hydrology tools and then used the output from this model in a VBA script I wrote to trace the longest flow path in each catchment. At the end of using both tools you will have a PolylineZM featureclass containing lines with length and an equal-area slope calculation.
To use the attached items, unzip both and then:
1. Load the DHI_hydrology.tbx file into the ArcToolbox (you have to have the Spatial Analyst extension for this to work);
2. Create a point featureclass with the locations that you want your subcatchments to drain to (add an integer ID field and make the ID's unique or just use the FID field);
3. Create a "wall" and "trench" polyline featureclasses (unfortunately the ArcToolbox Model requires that you have at least one wall and one trench polyline inside your DEM extent for the tool to work, I suggest adding dummy wall and trench lines somewhere outside your area of interest);
4. Add the pour point, wall, trench and your DEM raster to the "Subcatchment Delineation" Model in the DHI_hydrology toolbox and run the model;
5. Go to the VBA Editor and import the TraceFlowPaths.bas module and add the RasterPixelCacher VBA class as well (attached in the "RasterPixelCacher.zip" file); and
6. Edit the names of the layers at the top of the module and run the tool.
The VBA script is designed to use the output from the ArcToolbox Model. It traces up the subcatchment using the flow length output and stays within the subcatchment using the watershed output. I have used these tools in an iterative manner, adding pour points manually and regenerating the subcatchments as I go until I have the resolution that I need. It is quite satisfying.
The "walls" featureclass is used to add 100 unit high walls to the DEM to prevent flow running through and the "trenches" featureclass is used to add 100 unit depth trenches to the DEM to divert flow path.
This worked for me using ArcMap 10.0.