Hi,
Then only way i can think of is dont display reject option in the worklist control. As per the business requiement if user wanted to reject the request, then he should open the form and there you can handle the comments mandatory via validation. So to hide Reject action displaying in the Worlist control follow below steps;
1) Run the client event (Default client /Smartforms client whichever you are using) and navigate to Action wizard.
2) Select Reject Action and click on Edit button, below snapshot will display
Uncheck the "Make the action available without opening the work list checkbox and finish the event running.
Redploy the workflow. any new requested created wont have Reject action available on the worklist control dropdown.
Hope it helps!
Cheers,
Prajwal Shambhu
One other way I can think of is to build your own own custom worklist. By creating a composite smartobject, you can have the worklist smartobject join with your own smartobject and render together in a list view. That way you can control the action per row, or mutliple rows with for-loop.