As Jeff said, you could do this with Marketo, but I doubt you'd want to. You'd need to create custom fields for each response at the Lead and Contact or at the Account level, then create a form mapping the form values to these custom SFDC values. If the survey doesn't change year-on-year and you could use this annually, then this may not be a bad thing, however if the questions change year on year, you'd constantly be editing, adding, deleting custom fields. It really depends on whether you want to deal with that many custom fields in SFDC and what your layout schema looks like.
For any kind of lengthy survey we've been using SurveyMonkey, which is also something that SFDC and other large organizations use. I highly reccomend it. Flexible, easy-to-use, and affordable.