This is more a general Acad question than a lisp one, but the answer is yes, kind of. I have a custom menu that pops up, but mine is a middle mouse button. I have used it for years, and the main editing I do is to the mns file. You can still use one, but when you load it into Acad a cui(x) will be created along side. If you need to change it, you can use either the cui editor or you can change the mns file and un/re-load the file. Here is the contents of my mns file:
//
// AutoCAD menu file - C:\Custom\custom2.mnc
//
***MENUGROUP=custom2
***AUX1
$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,5),GRIP_),$P0=ACAD.GRIPS $P0=*);
//$M=$(if,$(wcmatch,$(getvar,cprofile),"*3M"),$P0=custom2.WilleySnapMMM $p0=*,$P0=custom2.WilleySnap $p0=*);
$P0=custom2.WilleySnap $p0=*
^C^C
^B
^O
^G
^D
^E
^T
***POP0
**WilleySnap
[MyMenu]
[Move Orient]^c^cMoveOrient
[Total Length]^c^cTLen
[TOrient]^c^cTOrient
[Distance]^c^cDist
[Circle, 2p]^c^cCircle;2p
[--]
[Next Tab]^c^cNTB
[Previous Tab]^c^cPTB
[--]
//[->Layers]
// [Freeze]^c^c^c_LayFrez
// [Off]^c^c^c_LayerOff
// [--]
// [Isolate]^c^c^c_IsoLays
// [UnIsolate]^c^c^c_UnisoLays
//[<-Edit Props by Entity]^c^c^c_EditLayerFromSelection
[->Text/Attribute Routines]
[Text to MText]^C^C^C_Dt2Mt
[Space Notes]^C^C^C_SpaceNotes
[Break Text Inplace]^C^C^C_BreakTextInplace
[Add Notes to Numbers]^C^C^C_AddNotes
[Add Numbers to Notes]^C^C^C_NumberNotes
[Remove From Text]^c^c^c_RemoveFromText
[Replace in Text]^c^c^c_ReplaceInText
[--]
[Move Text/Attributes]^C^C^C_MoveAttText
[Make Attributes Invisible]^c^c^c_AttInvisible
[Make Attributes Visible]^c^c^c_AttVisible
[Scale Attributes]^c^c^c_ScaleAttributes
[Multi-Attribute Edit]^C^C^C_MATT
[Change Attribute Style]^c^c^c_ChangeAttStyle
[Change Atts (per Tag n Value)]^C^C^C_AttUpdate
[Move Attributes, Default]^C^C^C_AttDftLoc
[Change Attributes Rotation]^C^C^C_AttRot
[<-Change Attributes Height]^C^C^C_AttHeight
[->Block Routines]
[Change Block]^C^C^C_cb
[LineUp Blocks]^C^C^C_LUB
[Rotate Block Geometry]^c^c^c_RBlkGeometry
[Change Block Objects to ByLayer]^C^C^C_ChangeBlockByLayer
[Replace Block]^C^C^C_ReplaceBlock
[Erase (nested) Block Object]^c^c^c_EraseObjectFromBlock
[--]
[Update Atts from Other Dwg]^c^c^c_CopyAttributesFromDrawing
[Add Extra Attribute]^C^C^C_AddExtraAtt
[<-Copy Attributes to New Block]^C^C^C_CopyAtts
[->Xref Routines]
[Copy Layer Properties]^c^c^c_CopyXrefLayerProps
[Check if xrefs will load]^c^c^c_XrefCheck
[My Xref Manger]^c^c^c_MyXrefManager
[--]
[Unload]^C^C_xr-u
[Reload]^C^C_xr-r
[Reload (Last one un-Loaded)]^C^C_xr-rt
[Reload All]^C^C^C_ReloadAllXrefs
[Unload All]^C^C^C_UnloadAllXrefs
[Reload Only Loaded]^C^C^C_ReloadLoadedXrefs
[--]
[Bind (as Insert)]^C^C_xr-bi
[Bind (as Bind)]^C^C_xr-bb
[Detatch]^C^C_xr-d
[--]
[Open Drawing]^C^C_xr-open
[Copy Layer Settings]^C^C_CopyXrefLayerSet
[Match Color/Linetype to Origianl]^C^C^C_SetOrigLayerProps
[Change color of all xrefs layers, ObjectDBX]^c^c^c_ChangeXrefsLayerColorMulti
[<-Change layers color]^C^C_xr-c
//[->Drawing Routines]
// [Next Drawing]^C^C^C_MyNext
// [Next Drawing Close Current]^C^C^C_MyNextAndCloseCurrent
// [Previous Drawing]^C^C^C_MyPrevious
// [Previous Drawing Close Current]^C^C^C_MyPreviousAndCloseCurrent
// [Active Next Open Drawing]^C^C^C_NextInDocManager
// [--]
// [Close All (without saving)]^C^C_CloseAllButActive
// [Close Select]^C^C_CloseSelect
//[<-Tile Selected Drawings]^C^C_TileSelect
//[->Plotting]
// [Batch Plot]^c^c^c_MyBPlot
//[<-Quick Publish]^C^C^C_QuickPublish
//[->Zoom Operations]
// [Zoom Window]'_.zoom;_window
// [Zoom Previous]'_zoom;_previous
// [Zoom Extents]'_zoom;_extent
// [--]
// [Realtime Zoom]'_zoom;;
// [Realtime Pan]'_rtpan
//[<-3d Orbit]'_3dOrbit
[--]
[Perpendicular]_per
[Bisect]'bi
[Mid Between 2 Points]_m2p
[->Align]
[Aling X]'alignx
[Align Y]'aligny
[<-Align Z]'alignz
[Intersection of Points]'intpoints
[->From]
[From]_from
[From X]'fromx
[From Y]'fromy
[<-From Z]'fromz
[--]
[Edit Properties]^C^C^C(if (not c:EditProps) (load "GrabPropertiesv02.lsp"));_EditProps
//[Match Properties]^C^C_Match
That is most, if not all, the help I can give. I have not had to set it up in a long time, since I wrote this way back when. But the top portion of the file is where it makes it available in the cui editor to select it as an option for the middle mouse button. You might be able to do it for the right-click option, but I have never tried.
Hope it was at least a little helpful.