Is there a good way to select a row where the key represents the lower bound of a range?
There's no single right answer for any performance question.  The answer is always that query optimizers are very smart, to a point.  So the most efficient design or query will depend on the number of records, what kind of indexes you have, how selective they are, and many, many more factors.

If you want to avoid keeping both bounds of your ranges, you can search using TOP 1 and order by lower_bound but I wouldn't expect this to be efficient necessarily.  I'd suggest profiling it this way to see if the performance is acceptable.  

Having an index on lower_bound will probably help, depending on the number of records in your table.