別にC89でも{}で囲んでブロック作ればいいだけで、
割と好きなところで変数宣言できたけどなぁ
ちょっとしたテストでmainだけで済ますときとかやってたよ

int main(arg[]){
//処理1
{int i;
 ・・・
 }
//処理2
{int i;
・・・
 }
}//end of main

とか