The suggestions above are good. Also you can implement the point-and-shoot yourself. But a better approach for usability is to do this in the editor as an edit macro. I would not bother to write your own panels either. If your users are running the ISPF workstation agent and are connected, you can simply have the macro bring up the information in the manual. Here is an example that does this for assembler opcodes:
/* rexx - view principle of ops for an opcode */
/* - to use: place cursor on an opcode and run macro. */
/* Best if macro name is assigned to a PF key. Assumes windows*/
/* Requires connected ISPF Workstation Agent connection */
'(row,col) = cursor'
if row>0 & col>0 Then /* if cursor in data area */
'(CODELINE) = LINE ' row
Do a=1 to length(codeline) /* remove invalid opcode characters*/
If 0=verify(thischar,validchars) Then
c=c || thischar
c=c || ' '
code=' 'codeline' '
Parse Value substr(codeline,p) With opcode .
If opcode <> "" Then /* could also check for valid opcode here */
uri=uri || "/bookmgr_OS390/SEARCH?"
uri=uri || "Book=dz9zr002%&"
uri=uri || "Type=EXACTW%&searchTopic=TOPIC%&searchText=TEXT%&"
uri=uri || "searchIndex=INDEX%&rank=RANK%&"
uri=uri || "searchRequest=" || opcode
uri='%comspec% /c start "" /wait "' || uri || '"'
Address ispexec 'SELECT WSCMDV(URI) MODELESS'
/* could add sections for cics macros, asm directives, etc */
Using ZSCREENI and ZSCREENC this can easily be adapted to look up anything based on any criteria (for example point to a problem report number on a screen and bring up your company's web based problem reporting system). This isn't perfect because looking for something common like the letter C (compare instruction) brings up lots of false hits, but it is better and cheaper than writing your own documentation for every assembler instruction. You can always change the search to be better too.
Looking at that, I don't know how the percent signs got in there before the & characters, but they should be removed. I'd also add that you can always create a table that maps specific opcodes to different places so for example AMODE, DC, or USING would point into the assembler book, opcodes could point to specific pages in the manual, DFHxxx could point to the CICS books, etc.