Check the documentation around ADCON1 to switch PortA from analog to digital.

Your Case-statement looks fine, but is very very big in code !
(You have to calculate the MaskSwitch out of 2 numbers!)

Whats about this:

-----
Button1 Var PortC.0
Button2 Var PortC.1
...
Button7 Var PortA.0

ADCON1=%00001111

If Button1 Then
If Circle = 1 Then Gosub Procedure_Circle
Endif
If Button2 Then
If ...
Endif
-----