Solved!
The properties which can be added by the InputfieldPage have a hierachical structure (page with subpages with subpages and so on) - that's why I can't use checkboxes directly.
But at last it was very easy to solve the problem:-)
First step: In the PageListSelectMultiple element you can find a hidden list item with the class "itemTemplate". This element can be cloned, prepared with the new data (id, label) and apended to its parent element.
Second step: In the PageListSelectMultiple element you can find an input element with the id "Inputfield_YOUR_FIELD_NAME"; its value hold the ID's of the selected pages as a comma separated string. This value must also be updated. That's all:-)
Here are my script to do the steps above:
// get the selected properties for my page via ajax
$.post("my_ajax_file", {"page_id": "my_page_id"}, function(success){
if(success){
var json = JSON.parse(success); // create json from string
var id_string = ""; // holds the id's for field value
var ol = top.opener.document.getElementById("Inputfield_MY_FIELD_NAME_items"); // get the list with the selected page items
$(ol).find("li").not("li.itemTemplate").remove(); // remove all items except the template item
for(var i in json){ // loop through json elements
var prop = json[i];
var li = $(ol).find("li.itemTemplate").first().clone(true); // get the template item and clone it
li.removeClass("itemTemplate");
li.find("span.itemValue").text(prop['prop_id']); // set new id
li.find("span.itemLabel").text(prop['prop_title']); // set new label
$(ol).append(li); // append to parent element
id_string+= prop['prop_id'] + ","; // add id to comma separated string
}
id_string = id_string.substr(0, id_string.length - 1); // remove last ","
var input = top.opener.document.getElementById("Inputfield_MY_FIELD_NAME"); // get the field with the id string value
$(input).val(id_string); // set the new/updated id's
}
});