ИМХО в этом случае сложнее создать отдельное правило.Вы можете, если вы хотите закодировать «чистый» CakePHP, но проще просто сравнить поля в контроллере и сделать недействительными одно из них вручную, если они не совпадают:
if( $this->data[ 'User' ][ 'password1' ] != $this->data[ 'User' ][ 'password2' ] ) {
$this->User->invalidate( 'password2', "The passwords don't match." );
}