Do you really care about uses of 'goto' that are no longer present in the code (i.e., uses that were added and then later removed?
I suggest not; that simplifies the search.
If you start with p4 grep -e goto //project/file/path/...
, you will find out which files currently contain that word. Then you only have to examine those files.
Then, for each file, you can run `p4 annotate -u //project/file/name | grep goto' and see which change(s) added the word 'goto' to that file.
Then you can examine the results.
By the way, if your server is at version 2015.2 or higher, you can use the new '-u' flag added by
#1233417 (Bug #12755) **
'p4 annotate' now supports a new flag '-u'. This flag instructs
annotate to display the user who modified the change and the date
when the modification occurred.
this will help you with your final report because you won't have to do the extra step of looking up each changelist to see who submitted it.