This is a proposal for a new option or two for paid accounts. It's in lj_dev rather than suggestions because I want to discuss technical feasibility and implementation.
I'm thinking it'd be nice if paid accounts could specify that links to stuff in their journal should use their custom domain. The option would have to make it clear that not all links would be affected (for performance reasons) but we can try our best to make it work in the important places, such as the style system, talkread/post and userinfo. In all of these places, userprops are already being loaded anyway.
A uprop would have to be loaded on journal generation for every journal involved in the view. For a friends view, this will be all of the friends who have posted entries. I think we're already loading userprops for them anyway, (mood themes?) so this won't be a major new overhead, and I suspect they are or soon will be cached in memcached anyway.
The style system would then fill the relevant variables with links within the custom domain instead of the main LJ URL, so even on a friends page the talklinks would go to the custom domain rather than the canonical LiveJournal.com URL.
Doing it for the friends view isn't particularly useful, I'll admit, but at least it'll be consistant. Where it'll be most important is in the RSS and in future the Necho feeds where people will want their feeds to reflect the custom domain they've paid to use. If we're going to generate Necho feeds of friends views (which would be a good idea, in my opinion) the URLs should match that of the main feed to avoid the two sets of feed data clobbering each other in aggregators which use the unique ID. The unique ID, of course, should always be in the LiveJournal.com domain, because that way it is guaranteed to be globally unique and guaranteed not to change, ever… and that's important for entry editing.
The uprop may as well take values “custom” and “vanity” (or just the initial letters) so that paid users without domains can also ask that their short, paid-user URL (http://username.livejournal.com/) can be used, since that's so easy to add once the custom domains are dealt with.
Of course, I might be overlooking something which makes this unfeasible. Let me know.