Почему изменение переменной в списке не затрагивает переменную вне этого списка?
Ваш код записал во второй элемент списка ссылку на число 1 вместо ссылки на число 6, которая там была раньше, а в перменной b всё ещё хранится ссылка на 6. Непонятно, что вас удивляет.
from random import randrange
a, b, c = 4, 6, 8
r = ['a', 'b', 'c']
exec("{} = 1".format(r[randrange(0, 3)]))
print(a, b, c, r)
и всё должно сработать