Whole Foods usually has beef marrow bones. They're really expensive there, and not necessarily any better quality, compared to what you'd get at a regular supermarket. The difference is that Whole Foods sells them for fancy roasted meals, and supermarkets call them "dog bones" or "soup bones".
Heart is basically like steak, as I understand it, and you can eat as much as you'd like. I hear it's good cut into strips across the grain and stir fried.
As for liver, from what I hear that shouldn't necessarily be a daily staple due to the vitamin A content. (but someone who knows better will presumably jump in here to post.)