If this is an openroads dataset then you could use linear templates to control the end conditions in the way you described. If it is an SS2 dataset then you could use paramatric constraints to control the slope and/or end condition exceptionss for the ditch senerio?
Marc