That's what Numbered Groups are for. Search for this:
(l)-(l)
and replace with
$1$2
But it can be done with a bit more flair — by not 'finding' the lowercase characters at all! (Don't worry, I'll walk you thru it.)
For that, you have to visualize how a regular Find works: you type in what needs to be found, press the Find button once, and InDesign selects the 'found text'. What if you coud find only the hyphens which have a lowercase character before and after it? — Notice how this is distinctly different from what you do right now, that is, looking for the exact sequence “lowercase – hyphen – lowercase”!
This lil' bit of magic can be done using “lookbehind” and “lookforward” sequence. Inside the “lookbehind” sequence you can specify what needs to be to the left of 'the text you actually found'. This fragmentatte:
(?<=l)-
will only find-and-select individual hyphens that are preceeded by a lowercase character. A phrase worthy of emphasizing.
Simlarly, this one:
-(?=l)
will only find-and-select hyphens that are followed by a lowercase character. And yes! you can combine these two:
(?<=l)-(?=l)
will only select hyphens that … well, see the above :) Replace with Nothing-At-All, and thus you'll be effectively removing the hyphens without touching anything else.
So what is the advantage of this method? In this case, it's rather miniscule. InDesign will not 'touch' the characters left and right of the hyphen; in particular, it will not “remove” them and then “re-insert” them again for the Replace operation. (I think this is rather how Search-and-Replace works, internally.) So it'll run fractionally faster. But consider a situation where you want to apply formatting to these occurrences of hyphens only when preceeded and succeeded by lowercase. You cannot do this with regular Search/Replace, and nor with the Numbered Grouping method. But with the lookbehind and lookahead function means you can!