This really is not a small project, it is a very large one.
To be honest, due to some of the limitations you mention, it will require a fair bit of and coding to complete. It is not a project I wold recommend as a way of becoming familiar with DataAssist and relational data.
This is going to require created Lookup recordsets. Lookup recordsets are used to get one particular record to return the ID.
It is going to require createing recordsets nested in other recordset repeat regions.
Where you cannot use multiple select lists or checkboxes, you will need to add ajax functionality to create an input box to display information from the database based on what is typed into the box.
I would start with using the data assist wizard to create pages for the Companies table.
On the detail page, add a link to a new page to manage the occupations / locations.
Use a querystring to pass the company ID.
add a hidden form element that will get the value passed from the quertystring.
You will really only be able to add one ocupation / location at a time.
The ocupation list is where you will need to use ajax functionality, we do not have a tool for this, but you should be able to find something through google.
When they select an ocupation, and a location, create a recordset to lookup in the occupationlocations the selected ocupation / location and return the occupationlocationID
This will be store in the employeroccupationlocations.occupationlocationOcupation ID table.
The employeroccupationlocations.employeroccupationlocationsEmployerID will get the value from the hidden form element.