Well, I would like to chime in and say I too would love to have a first login redirect to change password and update a few custom fields the first go-around. I am probably looking at creating a custom form page with just the fields I need and making some custom validation to require/not-require certain fields.
As far as the first login redirect goes, I think the only way to do it would be to store a custom per-user field in the database, like "hasLoggedIn" that is set to false by default. Then a custom action (I assume - I have not really delved into WordPress development-wise very deeply yet) would need to be added to wp-login that would check that variable, and if false, redirect to the special page and set it to true. If the variable is true, it just does nothing.
That would be my guess, but like I said as far as actual implementation I would have to be a lot further along with my PHP skills and my familiarity with wordpress before I could tackle a full-blown plugin.
I will post here if I have a chance to make any head-way. Any tips on the subject would be greatly appreciated!