Чтобы тело двигалось "медленно но уверенно" - надо делать не applyImpulse(), а applyForce()
Импульс от времени не зависит, он единоразово применяется, это как удар по телу, импульсом можно эмулировать удар ракеткой по мячу к примеру, или взрыв. А для вашего примера нужна именно сила.
и какой-то цикл типа:

Код AS3:
while(позиция_тела != нужная_позиция) {
body.ApplyForce(force, pos)
}
Ну скорее не в цикле а по ентер_фрейму это делать надо будет циклически.
Ну а перевод метров в пиксели это отдельная тема. Лучше ввести какую-то константу
коеффициент или как-то так.
Вот мои параметры из текущего проекта.

Код AS3:
//draw levels
public const ITERATIONS : int = 50;//тут понятно, параметры настройки мира и разрешение
public const TIME_STEP : Number = 1.0/60.0;
public const SCREEN_WIDTH : int = 640;
public const SCREEN_HEIGHT : int = 480;
public const COEF : Number = 0.7;//это собственно и есть этот коэффициент, у вас он может быть другим
Коэффициент вычислялся эмпирическим путем)) В дальнейшем все формулы умножаются/делятся на него.