1)
Why did Hashem tell Nasan to tell a parable to David?
1.
Malbim: David thought that he acted properly. Hashem wanted that David himself give the ruling in such a case.
2)
Why does it say that they lived in the same city?
1.
Malbim: This increases the guilt of the Ashir. He knew the Oni's situation, and not only did he not help him - he took what was the Oni's!