Да, глобальная переменная - это зло, но если очень хочется, то объявляется она просто:
global balance
Хотя в вашем конкретном случае, в дополнении к тому, что уже отметил уважаемый Сергей Горностаев добавлю, что ваш цикл - еще более странен. Вы на каждой итерации записываете в переменную balance данные, затирая те, что были в ней перед тем. По сути, значение переменной balance после окончания цикла можно предсказать заранее и будет оно равно ("%d" % (result[-1][1]))
. Зачем вам цикл? Ну разве что вы организовали асинхронное выполнение нескольких процессов, и передачу данных между ними - но судя до допущенным ошибкам это более чем сомнительно.