As for the 1st routine,
(DEFUN C:ch0 ()
(SETQ CH-A (GETVAR "CHAMFERA")
CH-B (GETVAR "CHAMFERB")
A (ENTSEL "\nPick First Line: ")
B (ENTSEL "\nPick Second Line: ")
)
(setvar "CHAMFERA" 0)
(setvar "CHAMFERB" 0)
(COMMAND "CHAMFER" A B)
(SETVAR "CHAMFERA" CH-A)
(SETVAR "CHAMFERB" CH-B)
)
It needs a little work, but it will get you started