Welcome to the crazy world of puppet agent names on different OS (and versions).
process_args and process params are used only for monitoring stuff (via nagios plugins) so if you want them to be precise you should set them correctly.
I'm not sure you can use operators in a selector, you might eventually calculate a variable with operators and then use it in the selector, with something like (not tested):
if $::puppetversion >= 2.7.21 { $solaris_process_args = '/opt/csw/bin/puppet agent'
} else {
$solaris_process_args = '/opt/csw/sbin/puppetd'