You can put anything you like in a ToS document, but not everything you might put there will be enforceable. By posting something on the web, you are inviting anyone to read it. In some jurisdictions that may include the right to make and store a personal copy, although not multiple copies or a copy for commercial use.
You can taker technical measures to prevent automated access and automated downloads (scraping). There was a case (hiQ Labs, Inc. v. LinkedIn Corp, 938 F.3d 985 (9th Cir. 2019)) in which access restrictions were held binding in a US court, but in that case the site owner had notified the would-be reuser (a competitor) directly.
The laws on this sort of thing may differ from country to country, and are not as well-settled as older parts of the law tend to be.
The question asks:
can I list in my terms of service that all users acknowledge I own their posts ...
The only way in which the host could "own" the posts would be if the users transferred copyright to the host, or granted the host an exclusive license. Under US law this would take a written and signed document. Clicking an "I agree" box or button might constitute a valid signature. A statement that "by using this site you agree ..." would pretty clearly not.
You might prohibit bots copying from your site and posting duplicates, but to prohibit users re-posting their own messages elsewhere is harder, legally, and leas reasonable in my view.
Under US law you could not actually file suit for copyright infringement until you had registered the copyright, but that is not true in many other countries.