For starters, {print $0} is unnecessary, as that is the default action, so you could write:
[tt]ps -ef | nawk '$1=="napln"' | grep -i /data | grep -i $JOB[/tt]
But you don't need awk to do that part anyway, since it's built in to ps:
[tt]ps -fu napln | grep -i /data | grep -i $JOB[/tt]
Also you can combine the greps if you know the order the strings are likely to be in, e.g.
[tt]ps -fu napln | grep -i /data.*$JOB[/tt]
...where .* matches any characters between the two search strings.
If you wish to use awk, unfortunately it doesn't have a very convenient way to do case-insensitive searches. But you could do something like this:
[tt]ps -ef | awk -v job=$JOB '$1=="napln" && tolower($0) ~ /\/data/ && toupper($0) ~ tolower(job)'[/tt]
Annihilannic.