Hi Michiel
Looks like you need two tables
table Person
personid <-- primary, autoincrement
firstname
lastname
dob
etc....
table Available
availableid
personid
startdate
enddate
then when the user has filled in the first form you can do the insert into person straight away, get back the personid and move onto availability.
Dates: I do use regular dates in my tables but where the date is searchable I tend to format a date as 20020924 as it makes it very easy for comparison. Then when I need to display it I just deconstruct the 8 chars into the format I want.
$sql = "Select * from available, person where available.personid person.personid and startdate < '$mydate' and enddate > '$mydate'";
This column can be indexed and will be really simple to use.
However, others will have alternate ideas so see what other responses you get before making up your mind.