I was able to solve part of my problems after I found this link
http://docs.saltstack.org/en/latest/ref/states/top.html
This link made it so I could setup my top.sls to look for a pillar for matching. I was not able to check for nested values though, only single values. So for the solution I did this.
{% if grains['host'] == 'QA' or grains['host'] == 'QA2' %}
webapps:
- helloworld
- GoBub
{% endif %}
Then in my top.sls I was able to match this
'webapps-on:True':
- match: pillar
Note, I was not able to do this
'webapps:helloworld':
- match: pillar
Unfortunately I have not gotten the command line selector working, even with a single level property.
salt -I 'webapps-on:True' test.ping -- this does not work for me.