This is absolutely possible however you will not be able to add new elements into a GP tool window GUI. Regardless whether you are using Python toolbox or a custom script tool, you will need to look into two concepts:
updateParameters and parameterDependencies (Python toolbox)
Obtained from property of parameters and ToolValidator class (script tool)
For instance, you will be able to get list of fields from a feature class your user will specify. If the standard behaviour of obtaining information of the objects users supply is not enough, consider using ToolValidator class or implementing this logic directly in the Python toolbox.
I would go for a Python toolbox in your case since you will have more options (and imho it is easier to write and maintain the code) in reading the data back based on the input.
Good readings on the question:
Are there any distinct advantages of creating a Python Toolbox over a Custom Toolbox?