First of all, I'd like to point out that using hashmarks around variable names when not being directly output or not contained within strings can be detrimental - it actually might slow things down.
<cfset f_name = "upld_attachment_file" & #attachment_id#> should be <cfset f_name = "upld_attachment_file" & attachment_id />
The best way to parse dynamic variable names is by using bracket notation.
<cfif len(trim(form["upld_attachment_file#attachment_id#"]))><!--- You don't actually have to compare it to zero. If the length is zero, it is false; if it's greater than zero, it's true ---> DO STUFF </cfif>
In this second code sample, the hashmarks are required because the variable falls within a string. It could also be written as
<cfif len(trim(form["upld_attachment_file" & attachment_id]))>
Thanks! that worked like a charm. I also found that I could use the Evaluate function, but everything I read said not to use it unless absolutely necessary.
Thank you for marking my answer as correct, dwright65, I really appreciate it.