Subscription-based payments
getnewaddress will generate a new Bitcoin address for your existing wallet, Yes you can get as many as you like.  

I would use getreceivedbyaddress which returns the total amount received by the specified address in transactions with the specified number of confirmations or listunspent to get all transactions for specific address with confirmations

AFAICT, You can't remove an address from your wallet using any RPC call, but by editing wallet.dat manually.