The following both work for me:
ps -ef | grep runner | awk {'print$2'} | xargs pwdx
and
ps -ef | grep runner | for i in `awk {'print$2'}`; do pwdx $i; done
FYI, you will get one that looks like: 3516: No such process which will correspond to your grep runner that will have completed by the time pwdx is called. (Also, for anyone using OS X, pwdx isn't in the default installation.)
EDIT: I just realized that you wanted to return COMMAND, too. This will show all three on one line for each process matching runner:
ps -ef | grep runner | for i in `awk {'print$2'}`; do echo `ps -e -o pid,comm | grep $i` `pwdx $i | awk {'print$2'}`; done