Have you read through the WordPress documentation for the_excerpt()
http://codex.wordpress.org/Function_Reference/the_excerpt
It appears that you can only override the the excerpt_length() with new_excerpt_length() via filters as you mentioned.
So perhaps you can modify existing the_excerpt function to take a parameter $length, where the default value = null. If you are familiar with PHP you know that you don't have to pass any parameters to the_excerpt()
, in which case $length will default to null and function as if $length was never passed to it, which means all current usages of the_excerpt() will continue working as normal. and if you want print your excerpt at a different length then call the_excerpt(someOtherLength);
It will look something like this.
function the_excerpt($length=null) {
if($length != null) {
// ignore default excerpt length with $length
// print the excerpt to $length
} else {
// prints the excerpt to standard length specified by excerpt_length()
}
}
Let me know if you have any problems.