One thing I strongly recommend is to try and optimize the scroll screen that comes after assigning jobs. This screen only gets longer as the population grows.
I've been playing with the batch code and found the admin area. Built it into the town menu, lol.
I don't know why, but you had "errorlevel" without it being in %%. The value of errorlevel counted from the highest to lowest number as well. Like 9 to 1.
%ERRORLEVEL% is a default system variable.
----------
:START cls CHOICE /C 12
if %ERRORLEVEL% == 1 goto var1 if %ERRORLEVEL% == 2 goto var2 :var1 cls echo Hello pause goto START :var2 cls echo Hello again pause goto START
----------