This question actually doens't have anything to do with OpenGL. It's more of a high-level thing. It can be done on any graphics library.

1) Treat player character and game objects same way and draw them Y-sorted.
I think he means that you make a list of drawable objects and sort them by Y-coordinate.
Beware that the Y coordinate must denote the "base" of an object, where it touches the ground (e.g the trunk of a tree or the feet of a human player etc).
Objects with a lower "base" (the trunk of the tree is lower than the feet of the guy) will overlap objects with a higher "base" (higher = closer to the top of the screen).

Hope you get the idea.