Assuming all your layers have the same fields, you should be able to merge them with a data expression:
// load your layers
var p = Portal("https://www.arcgis.com")
var featuresets = [
FeaturesetByPortalItem(p, "b0d335151aad48a5883326b9aed69cdd", 0, ["*"], false),
FeaturesetByPortalItem(p, "b0d335151aad48a5883326b9aed69cdd", 1, ["*"], false),
FeaturesetByPortalItem(p, "b0d335151aad48a5883326b9aed69cdd", 2, ["*"], false),
]
// create the output featureset (this assumes that all layers have the same fields)
var merged_fs = {
geometryType: "",
fields: Schema(featuresets[0]).fields,
features: []
}
// append every feature of every input layer to the output featureset
for(var fs in featuresets) {
for(var f in featuresets[fs]) {
var att = Dictionary(f).attributes
Push(merged_fs.features, {attributes: att})
}
}
// and return that featureset
return Featureset(merged_fs)
For the indicators, it's best to make that a separate question.
Have a great day!
Johannes