Yes, in fact it can, if you're not afraid of some vector math.
Basically, you want to shut-off gravity when you're standing on something. And that will stop you from sliding downward.
The question then becomes, how do you know when you're standing on something flat enough?
Take this code snipplet:
gravity = 1
colls = CountCollisionsPRO( myPlayer )
for t=1 to colls
if CollisionHitNormY( myPlayer, t ) > 0.6
gravity = 0
break
endif
next t
And there you go. The variable "gravity" will have a value of 1 if your player IS NOT standing on something, otherwise it'll be 0. Then just turn your gravity on/off based on that variable.
We could make things more complex for more control, but let's not