Hi Will,
There should be nothing preventing this program operating successfully with attributes containing field expressions, since the attribute value contains the field output (not the field code or ####, unless the field is unevaluated or corrupt). Certainly, in my testing, I can populate an attribute value with a field expression referencing the area of a circle, and then successfully select the target block using my bsel program and specifying the target area.
Note that the selection is matching the string value of the attribute with the supplied input, and is not performing a numerical match (therefore, the input must match the content exactly as displayed); furthermore, wildcard operators are permitted in the user input (hence, you may not receive the desired results if your input string inadvertently contains a wildcard operator that you wish to be interpreted as a literal - to mark a wildcard operator as a literal, prefix it with a backquote, e.g. to search for the literal string #1 you would need to enter `#1 otherwise you would select any two digit value ending with a 1).
Also note that if your length value is surrounded by other text (even whitespace), you'll need to surround your input string with the asterisk wildcard operator to search for a substring within the candidate attribute values, e.g. *ft'-in frac/in"*