If you only have one test (equal in your case) then use an If with Progn (for more that one action). So something like
;;Snapbase Reset Routine
(defun C:SB (/ mybase)
;(princ "Snapbase Reset loaded. Type SB to run.") ;Print description
(setq mybase (getvar "SNAPBASE")) ;Stores current SNAPBASE
(if (equal mybase '(0.0 0.0) 0.001)
(command "_.snapbase" pause) ;If equal to 0,0, selects new
(progn
(setvar "SNAPBASE" '(0.0 0.0)) ;If not 0,0, resets to origin
(princ "Snapbase reset to 0,0")
)
) ;End IF
(princ)
)
One of the good things about using Equal, you can test with a fuzz factor. One thing about comparing points, is they are very VERY rarely equal, so the fuzz factor is a big help.