分岐処理はON GOTO文を使って、ボタン入力の判定は
IF BUT THEN
IF !(LOG(BUT,2)-FLOOR(LOG(BUT,2))) THEN
ON LOG(BUT,2) GOTO @BGM~,@BGM~,…
ENDIF
ENDIF
みたくしたらスッキリするんじゃないです?
後291~297行目のIF文の条件式の二つのうち一つが共通してる部分は因数分解みたく
IF !(WA MOD 7) THEN
IF BUT==1 THEN
処理
ELSEIF BUT==2 THEN
処理
ENDIF
ENDIF
みたくIF文の入れ子にしてまとめたりできるかも。