Hi,
Sorry but don't really have a good solution for you for that at this time.
You could capture data like that with Form Wizard but it has not integration with the newsletter. You could collec the data with Form Wziard and then manually subscribe them based on their form submission, but that would be a manual process.
I also plan to make an extension point for Form Wizard Pro where an event will fire when the form is completed and there will be a way to plugin custom code that can run at that point and will have access to the form data that was submitted. So once that feature is ready there might be a way for you to do it programmatically.
Best,
Joe