Use order from another select clause
Unless I'm grossly misunderstanding your structure, a simple join should work fine:

SELECT stories.vid, body, timestamp, COUNT(votes.id) votecnt FROM stories
INNER JOIN votes ON stories.vid=votes.vid
WHERE stories.lv=1 AND stories.status=1
GROUP BY votes.vid
ORDER BY votecnt DESC


I'm not sure what you mean by 


  It would be even better, if the first query would sort the table by status = 1 count at first, and then total votes.


since your where statement only uses votes/stories that have status=1.