0.90 has metadata near the end of the device, as does 1.0. 1.1 and 1.2 have it at or near the start. Yes, you could possible stop a 0.90 and re-create it as 1.0 and still have all your data. You would want to use the "--size" option to ensure it remained the same size. Maybe one day mdadm will do this nicely for you.
No, there is not currently any way to tell mdadm to reserve extra space. It reserves enough to store whatever bitmap you ask for, and maybe some more.
Current evidence is that a 'good' size for a bitmap is for each bit to represent rather large blocks - the order of megabytes. That is sufficient to accelerate resync considerably, but keep to a minimum the number of bitmap updates that are required. The latest mdadm has a fairly good default.
