Maximum independent nodes subset algorithm with strong constraint
A set satisfying condition (3) is known as a dominating set. The exercise asks for a maximum weight dominating independent set.

If all node weights are positive, then every optimal solution is automatically a dominating set (why?), regardless of whether the graph is a tree or not. In the more general case in which negative weights are allowed, you can use a standard dynamic programming approach. Root the tree at an arbitrary node, and for every subtree rooted at some internal node $v$, compute the maximum weight independent set in the following three cases:


The independent set is dominating and includes $v$.
The independent set is dominating and doesn't include $v$.
The independent set is dominating if $v$ is removed (it is allowed to dominate $v$ as well), and doesn't include $v$.


I'll let you complete the details.