If I recall correctly, the P-Meter in SMB3 made you accelerate faster as well as make you run faster. I guess you could hold default values for the platform behavior in variables, and set the actual behavior values according to those and some sort of formula with your own "p-meter" variable.
You can manipulate the X and Y movement vectors of the platform behavior directly. Knowing this, "jumping" mid-air in a raccoon suit should bump the Y-Vector a little upward when the "p-meter" is full, or limit the minimum value otherwise (to get the fluttering effect).
Same thing goes for swimming, although you will need different formula/threshold and what not.
Good luck!