Re: joining directly with the big view. Thanks for the suggestion! Running the join is slower for one case at least, and only returns rows where a permission record exists (we also want rows if the user doesn't have permission).
I'm tied up with other stuff today, but I'll try to hit this again over the weekend.