NLP - extract sentence parts related to people
This is not a standard problem but you should be able to roughly do this using two basic kinds of tools that usually go together anyway:


Use an NER system to identify people (as opposed to organizations) in sentences. Most systems have a default model that flags people.
Use an Open Information Extraction system to get relation triples from sentences like (Sarah, has, brown_hair). See OpenIE for an example. You could also use a dependency parser. 


So you take the relationships you get from the tools in part 2 and throw out any where the referrent/noun isn't a person. If you have to deal with relative clauses like in your first example ("John, who was..."), you'll also have to deal with coreference resolution, which is its own complicated problem.