That would really not be a webserver function IMO, particularly the part about counting the data transfer of all services. Nginx is not an FTP server so would you want it to parse FTP logs? Nginx can easily limit bandwidth per connection by using limit_rate (with or without limit_rate_after). See http://wiki.nginx.org/NginxHttpCoreModule#limit_rate. But that's not what you want.
What you want is to limit data transfer per unit of time - 30 days in this case. Nginx can log bytes sent using the $bytes_sent variable in the log. See http://wiki.nginx.org/NginxHttpLogModule. Such logs can be kept on a vhost level. You can easily write a Perl script to tally that up but there are many such free ones around that can do that.
The limitation here is that nginx does not, to my knowledge, count bytes received. For most hosting situations that is not a big deal but if there are proxy servers or file uploading services, or even forums that host large uploaded files, then it might be an issue. On the proxies I run, data in is always greater than data out.
The better solution is to use one based one of the many available tools for measuring data transfer and write a script to do the math and suspend accounts when they need to be suspended. Nginx is not a control panel or a hosting panel and won't perform those functions for you.
--
Jim Ohlstein