I couldn't find any kind of subpixel value, so it does seem to be as simple as the values at 0x37 and 0x41 for position, and 0x6B and 0x6F for speed. The speed values max out at 29, but at that max, you only move 2 pixels per frame while holding B (1 pixel if you let go of B).
Here's a simple Lua script that displays x/y pos, speed, and x diff.
https://pastebin.com/R8cLm8CK
Some game info for judging:
There's only two possible jump arcs. 11 frames after the jump, if you have A pressed, Y velocity will go from -3 to -2. If not holding A, it goes from -3 to -1, and the jump is much lower and shorter. This jump arc limitation, a lack of horizontal attacking, a lack of RNG to manipulate (I don't think there's any RNG elements at all), and very slow knockback does make it particularly hard to dodge everything while moving at 2px, so occasional slowdowns are necessary.
Bouncing off an enemy, if holding A, does do the larger jump arc.
I noticed that knockback is based on facing direction; but unfortunately, deceleration is quite slow, so it's not easy to suddenly switch facing direction at a whim.
Standing on leftward or rightward moving platforms does affect pixels travelled, so avoid or maximize them as appropriate.
Colliding with a vine instantly sets your xspeed to 0, so they are to be avoided. But once on a vine, horizontal speed accelerates as normal, so there's no penalty to staying on it for a bit. You can gain height quickly on them by alternating A and Up (4px per frame), which can help position jumps to go ABOVE the vines to avoid colliding with them, or other such things. But each time you reattach, your X speed will be reset again.
I have a slightly improved movie here that I'd like to see if you can save any more time on (I'll try the future levels as well).
On the first set of vines in The Swamp, I rode the spider to cut out some vine travel... and somehow barely managed to stand on the frog, as far left as I could, on the last frame before he disappears. I'd nearly given up on it. That cut out a large waiting time. Everything in these levels seems to be on global cycles, so it changed future jumps as well. In the end, I saved 69 frames in the Swamp. Nice.
Taking a brief look at the following boss, I was able to get a faster first hit by holding Down on the vine to have a lower Y position already when falling off. (Up/Down travel on vines doesn't affect horizontal acceleration at all, so it's free.) This saved 3 frames on the first hit, and from there, he seems to do a fixed pattern that begins once you hit him.
There was also a menuing improvement: A and B can be used on the in-between level screens, not just Start. This cut out a frame of waiting for Start to be pressable between each level (and the language selection), saving 10 frames.
This game syncs flawlessly so here's a movie with the 82 saved frames up to Sarsapilla:
http://tasvideos.org/userfiles/info/64246536460779097
I was going to say you should check out any other areas with climbable objects for improvements since that's the mechanic where I saved time, but, there... is no more climbing? Welp.