How does each "Perform Find" result differ from another in this logic tree?
If, else-IF, is the only scripted option, but I can think of multiple alternatives that might use a very different approach to get the same result.
If your perform finds are to look up values based on the range of values in "length", I can do this with a table look up that requires little or no scripting at all.
The preform finds are looking up values based on values in "length". Please keep in mind that in the Case Function example given are selections in a dropdown box
A single find can use the contents of the drop down box to find the correct record for your value. You don't need a separate find for each value range. This works especially well if you make the field for the drop down box a field with global storage. (Each time that you find yourself wanting to add an edit box to the layout that you don't want to associate with a field in the layout's table like you might in an Access or VB form, consider using a field with global storage--which can be a field from any table in your file when it's defined as "global".)
See this thread for scripted find examples: Scripted Find Examples
But I'd use a relationship to look up the value from a related table:
LayoutTable::DropDownFIeld > LookUpTable::MinValue AND
LayoutTable::DropDownField < LookUpTable::MaxValue
Will allow you to access a value in LookUpTable from a record in LayoutTable without any script at all.