I think the keyword you're looking for is "morph". Most JavaScript animation libraries have element morphing functions that change css attributes of an element in a given time.
You should check out the demos these libraries have and try to imagine how you can make them to fit your case.
Script.aculo.us provides one of the smoothest animations I've ever seen. You can check the List morph demo here:
http://wiki.github.com/madrobby/scriptaculous/list-morph-demo
And for Effect.morph documentation here:
http://wiki.github.com/madrobby/scriptaculous/effect-morph
$fx is another beautifully crafted library just for animation:
http://fx.inetcat.com/manuals.php#b3
JSAnim is another good one:
http://jsanim.com/
Also check out animator.js:
http://berniecode.com/writing/animator.html
These are one of the most decent animation libraries. You'll realize there's a common pattern where you can combine the basic effects and functions to create any custom effect you'd like.