For example, is it possible to allocate nodes to zones by assigning the number of the zone (or the content of any other attribute) to all nodes located within the zone polygon?


You can do it by using the functionality "Intersect".
1) Create an user-defined attribute for nodes that will obtain the zone number (alternatively you may use AddValues).
2) Nodes -> (Right mouse click ) -> Multi-edit -> (Choose user-defined attribute or AddValue) -> Intersect.
3) Set procedure parameters Intersect like follows

Source objects = Zones
Source attribute = Number
Target attribute = user-defined attribute or AddValue
Aggregation function = Minimum (or Maximum), in case zones overlap
Do not weight by area share, as you want to get the the zone number as value, not a share of it.