Hello,
One way to do this is to use the SQL
select * from SWP_SoftwareRequest
this table holds all of the information on requested software in the environment using the software portal, this will give the machine guid/name and user guid/name that requested the software. Also it will provide the task guid that was used to send down this SWD. if you join the task guid with the task instance results summary table or the task instancesummaries table you would be able to determine if the task finished. Once the task finishes you would be able to utilize normal software inventory to make sure the software is installed.
hope that helps