You could add one function to your Model_Post that will return all posts belonging to multiple (or one) categories.
public function in_categories($categories)
{
return $this->join("posts2categories")->on("posts2categories.post_id", "=", "posts.id")
->join("categories")->on("category.id", "=", "posts2categories.category_id")
->where("categories.id", "IN", $categories);
}
This will return all posts in categories 1, 3 and 5.
ORM::factory("Post")->in_categories(array(1, 3, 5))->find_all();