Hello Petr,
I think this can be done. Here provided an example were a validation runs only for certain customer types.
validates_presence_of :birthday, :street, :street_number, :zip_code, :city, :bank_name, :bank_code, :bank_account, :telefon_number, :message => "darf nicht leer sein.", :if => Proc.new { | customer | customer.customer_type.name == "partner" or customer.customer_type.name == "customer" }
The important part for you is the :if part. Only for object that pass the test in the Proc the validation is used.
There is a "has_parent?" method for act_as_tree objects. I think this could be used for your problem...
Feurio