add one more condition to your domain, using AND operator, something like:
[ '|','&', ( ...your condition... ), ('prodlot_id','in',[ id_of_record_to_apply_domain_to ]),('prodlot_id','not in',[ id_of_record_to_apply_domain_to ])]
-it's how you can apply domain to the one particular record. but still, the domain will be same in all records.
If you want to have different domain per record, I'm afraid that it should not be possible by setting domain using onchange. most probably computed one2many field is the appropriate solution to your requirement in this case, rather then change domain of field. if you want to have different one2many list per record, then make this one2many field computed field and apply your application logic inside compute function in order to have correct list per record.