At this moment there’s no shortcode parameter for this. I’ll think about a way to implement it.
For now, if the code is in a file, you can use PHP mixed with shortcodes as you described. For example, put the code in wp-content/views/loop.html, and include it in the page:
[load dir="views" file="loop.html"]
In the latest update, I added a way to access a global variable.
[pass global="_GET" field="product_type"]
[loop .. field="product_type" value="{FIELD}"]
...
[/loop]
[/pass]
Also, there are new parameters for [if]..
[pass global="_GET" field="product_type"]
[if pass="{FIELD}" pass_empty="false"]
The field is not empty.
[/if]
[if pass="{FIELD}" value="special"]
The field value is: special
[/if]
[/pass]
..and [array]..
[array global="_GET"]
The product type is: [field product_type].
[/array]
[array global="_GET" debug="true"]
This displays the contents of the whole array.
[/array]
Please let me know if that works for you.