Terminology for reducing runtime of an algorithm by using a property of the problem?
I'd call it "special-casing". 

There are variations. Variation 1 would be: You examine the input, and if the input has a special form, then you use an algorithm that cannot handle every input, but only input like the one you detected. 

Variation 2: You run an algorithm that will run fast, but will not be successful for every possible input. You may detect while you run the algorithm or after you ran it that it failed, and use a more general algorithm. 

Variation 3: You run a general algorithm, knowing that it will be fast in some cases, and hope your case is a fast one.