You could use the Commons Collections library. There are two decorator classes, GrowthList and LazyList, that will automatically grow the list when you try to access it beyond its bounds.
They're very useful for submitting a collection to bind to an object that doesn't know the length of the collection beforehand.
Set the lists in your formBackingObject with these decorators like so:
Code:
List<PhoneNumber> phones = GrowthList.decorate(LazyList.decorate(
new ArrayList(),
FactoryUtils.instantiateFactory(PhoneNumber.class)));