There are equations for acceleration on an inclined plane.
They aren't really needed for the discrete timescales you're dealing with.
All you really need is conservation of energy, lessened by friction.
So... set a value for kinetic energy lost to friction per tile rolled over and a value for kinetic energy gained per tile dropped. This is also nice since it would let you drop a boulder several z-levels to build up speed before it hits your ramp. Velocity is technically then related to the square root of the boulder's current kinetic energy, which indicates how many squares you move each step.
If you wanted to get slightly more fancy (and tone down speeds), count friction for a ramp as 1.5x that for a flat (approximating the square root of two for the longer surface).
If you wanted to get even more fancy, you could define the rolling/sliding friction for all the various floor surfaces (or all materials), so that the boulder would roll very quickly down your ironclad hallway, then quickly come to a stop when it hits that patch of sand.
The interesting (and harder to program) question is what happens when a fast rolling boulder hits a ramp up, or a sideways ramp. The easy solution would just ignore them and roll onwards, shedding energy when forced to go up, but it potentially sets things up for crazy Dwarven Marble Madness.