何がしたいのか微妙に分からんから対処法を考えるのも難しいけど、
エスケープされるのが嫌ならshowを使わなきゃいい。
自分で format :: [(Integer, String)] -> String
みたいなのを書いて、putStrLn $ format $ zip [1..] ["りんご","みかん"]
するとか。

いちいちそんなことするのが馬鹿らしいと思うなら、showの仕様を変えるように提案するしかないね…