さすが基礎の出来ている人は
漏れと違ってすごいですね。。
そういうなら
pa[0] = (char *)&(a[0][0]);
pa[1] = (char *)&(a[1][0]);
こっちの方が正しいのでは。

しかし、
pa[0] = (char *)&(a[0][10]);
pa[1] = (char *)&(a[1][10]);
でも269の
pa[0] = (char *)&(a[0][0]);
pa[1] = (char *)&(a[1][10]);
でも
きちんと
aaaa
bbbb

と表示できた。
基礎の出来ているなら何故
だか分かるのですよね?

あと、いくら何でもppa = &pa
ないでしょう。
コンパイラにも怒られましたよ。