The RiverTools software allows this as an add-on module for ARC:
http://rivix.com
However, I see that things have changed, and what I was using a number of years ago as freeware is now (fairly expensive) commercial software. I suspect this might put you off, but there you go.
You could also consider investing time in translating Matlab code to Python, which would make it free.
A free alternative that I can really recommend for ALL kinds of digital morphometry:
SAGA GIS (www.saga-gis.org).
You can simply import the DEM into SAGA and use one of the many tools available there. For river long profiles, use a tool that extracts profiles along the path of steepest descent starting from a user-specified point. As far as I understand the two indices, they can then be computed by fitting the empirical power law equation to the long profile points (or sections of the long profile).
(1) create a digital representation of the channel network (preferably polylines, this is possible using the "channel network" tool in SAGA), the only requirement is that the channels adhere to the DEM, i.e. do not use e.g. digitised channels from a map, because then you usually get channels deviating from the "real" channels in the DEM.
(2) make sure that the line segments are coded with respect to the channels you need the indices for
(3) use the SAGA tool "create profiles from lines" to create one shapefile for each river in your catchment with z attributes along the profile
(4) use a script, e.g. in R, to loop through all of these shapefiles and fit the equation to the observed long profiles in order to get the two parameters. You could e.g. add the results as attributes to the shapefiles, so you can merge the shapefiles into one and visualise the parameters for your whole study area. It is recommended though to visualise the single profiles I guess, because otherwise you might overlook knickpoints