I'm assuming that the topmost PCell is a SKILL PCell? When you instantiate the lower level PCell in the code you supply the parameter to that cell - the name of the parameter can be the same as the lower level cell, or entirely different, it's up to you. So in your call to dbCreateParamInst or dbCreateParamInstByMasterName, you use that parameter in the list of parameters supplied to the instance you are creating, something like this:
dbCreateParamInstByMasterName(pcCellView "basic" "nand" "symbol" "inst1"
list(0 0) "R0" 1 list(list("area" "float" myTopLevelAreaParam)) t )
In this case the lower level parameter is named "area" and the top level parameter is "myTopLevelAreaParam". Hopefully this answers the question?