list1=[]
list2=[]
for c in "iterable":
    list1.append(c)
while len(list1)>0:
    j=-1#これと
    d=list1.pop(j)
    j+=1#これは別にいらない。
    list2.append(d)
print(list2)

というコードによって文字列を逆順にしました。
①もう少し短く書けないでしょうか?

本当は、whileループを使わずに、forループのみを用いて同じことをしたかったのですが、
appendに変数cのインデックスを指定した文字を入れるにはどうすればよいかわかりませんでした。
②forループのみでappendメソッドを用いて文字列を最後から入れていくコードは書けるのでしょうか?
(※②の質問に追記)
この質問では、forappend、インデックスの指定方法(別途必要であれば)の3つの要素から成るコードで冒頭のコードを書き換えることができないかという旨で質問しました。
なので、コメントに書いてくださったようにlen関数を使うことでインデックスを指定することができるのであればlen関数が含まれているか否かは問いません。

以上2つが疑問点です。