Rewriting the information provided:
- E is #3 by height.
- E doesn't live on the 3rd or 7th floors.
- The number of floors between A and D is half the number of floors between C and G. (So these numbers are respectively (1,2) or (2,4), assuming the trivial (0,0) case is implicitly excluded.1)
- G lives two floors above D.
- D isn't #5 or #7 by height.
- A and G are taller than B and C. (So A and G aren't #1 or #2 by height, while B and C aren't #6 or #7.)
- The #7 by height lives on the 4th floor.
- The number of people taller than B equals the number shorter than G.
- The #1 by height does not live on the 3rd floor.
Putting fact 8 together with the knowledge from fact 6 that G is taller than B, we know that B and G are respectively (#1,#7) or (#2,#6) or (#3,#5) by height. Fact 1 excludes (#3,#5). If it's (#1,#7), then G lives on the 4th floor by fact 7, so D lives on the 2nd floor by fact 4. By fact 3, contradiction. So
B, E, and G are respectively #2, #3, #6 by height.
By facts 5 and 6, the #7 by height isn't C or D, so it must be A or F.
If it's A, then A lives on the 4th floor. By fact 3, D must live on the 1st, 2nd, 6th, or 7th floor. By fact 4, it can't be the 2nd, 6th, or 7th. So D lives on the 1st floor and G on the 3rd floor. By fact 3, contradiction.
So F is #7 by height and lives on the 4th floor. By fact 5, the #5 by height must be one of A and C; so by fact 6, it's A.
Let's consider facts 3 and 4 together.
- If there's one floor between A and D, then there are two between C and G; in this case, A lives two floors below D and four below G, so C lives three floors below G, between A and D:
?,A,C,D,*,G,?. None of A, C, D, G are on the 4th floor, so we must have them respectively on the 1st, 2nd, 3rd, 5th floors, with two more floors above G.
- If there's two floors between A and D, then there are four between C and G. Option one: A lives three floors below D and five below G, leaving nowhere for C, contradiction. Option two: A lives three floors above D and one above G while C lives five floors below G:
?,C,*,*,D,*,G,A,?. In this case, A, C, D, G must live respectively on the 7th, 1st, 4th, 6th floors. But F is on the 4th floor, contradiction.
So it must be the first of the above bullet points that applies. Now B and E must live on the 6th and 7th floors, and we know which way round by fact 2. Also, C and D must be #1 and #4 by height, and we know which way round by fact 9 since D lives on the 3rd floor.
A #5 1st
B #2 7th
C #1 2nd
D #4 3rd
E #3 6th
F #7 4th
G #6 5th
1 I found this to be a natural assumption, as (0,0) seems like a 'trick' solution not in the spirit of the puzzle. Turns out this assumption is also required for the puzzle to have a unique solution - see NL628's answer for a valid alternative solution if (0,0) is permitted.