Hi,
Functionality to re-ordering tasks in that way is not available in 2.5. One option is using a longer warning period so that users can log out.
The other option is, if you use inventory/dynamic folders to find out if a user is logged in. Then by running an inventory task against the static folder, you can get the logged-off machines to a dynamic folder and run the task on the dynamic folder.
This is not as good as the ability to run a command before hand, but depending on your environment, it may help.
Krish