Ah, what you want is to check the collision normal (using commands like CollisionNX.) That will tell you the angle of the polygon collided against. Then you can react differently depending on the normal.
What I would do (ie. this may or may not be the best way) is to actually turn off "gravity" if the surface collided against is at a shallow angle. Thus there is no force pulling the character down when standing on ground up to a certain angle.
EDIT: Didn't read the last couple lines of your post until just now. The second to last line is essentially what I just suggested.
What I would do (ie. this may or may not be the best way) is to actually turn off "gravity" if the surface collided against is at a shallow angle. Thus there is no force pulling the character down when standing on ground up to a certain angle.
EDIT: Didn't read the last couple lines of your post until just now. The second to last line is essentially what I just suggested.