What I would try to do is either create a collection of embedded forms or write my own widget that will handle the field.
If you try with the first solution you would have to unserialize your property inside of the form class. Then iterate through the array and embedd a simple form with one input field and a value of your field. Then add an option to add new values (by embedding another form) or deleting them. You would have to also overwrite the save methods of your forms so they properly handle the field (i.e. serialize the field).
Alternatively you can create a widget class which will properly handle displaying of the collection of inputs (again - unserialize the value and display an input for each URL). You would also have to create a validator class which will take the values from the inputs and serialize them.