[eluser]kanjimaster[/eluser]
How you display the dynamic form is a question of preference. Some people would build it in javascript, some would include it in the CI view when the page is built but hide it, others would give it its own view and ajax it in when needed. All are valid approaches.
Server side validation of the form is not affected by it having been loaded dynamically, so the normal CI validation approach described in the CI user guide is the only way to go ... though I'd recommend adding some in-browser validation too - though that's beyond the scope of CI.