In email templates apart from standard macros you obviously can use custom. The only thing you need to do is to register a macro data source with your data before sending the email. You can read more about it in this blog post or if you need to show non-Kentico .NET object look at this question.
But as far as I know, in order to register your custom datasources for email templates you need to write actually email sending code (like in the article above). So you need to hook to membership registration event, register your datasources for email, and send email with this template.