Beni aşıyor sanırım ama neden bu kadar kastığını anlamadım açıkçası? Şu şekilde olmuyor mu?

catid = $_GET['catid'];
mysql_query("SELECT * FROM yazilar WHERE catid='$catid' ORDER by ID DESC LIMIT 0,10");
Bu şekilde de istediğini yapıyorsun sanırım. O kategorideki son 10 yazıyı çekecektir bu kod.

INNER JOIN kullanımını bilmiyorum, neden kullandığınıda açıklarsan öğrenmiş olurum.