Re: Site URL tags. Well, you wouldn't echo it out, rather use the return value to build a require path that is not relative to your plugin folder location. This would only be applicable if you chose to require wp-load.php or whatever. You at least deal with relative reference objection to this technique. It wouldn't fix the general objection to it. My comment was intended for situations where the plugin is for your own sites and not public distribution.
Re: Repository. No, I've never seen an explicit statement. I do know several author's whose plugins were rejected because of this. Aside from the relative reference issue, I'm not sure what reasoning for the restriction is, several WP core pages do exactly this.
Good luck on your project, if you have any more questions, just ask.