Ethernet Shield. Communication over the internet.

Depends on what you mean by dynamic. If you mean that you want the Arduino to serve up a page that shows the current values from several sensors attached to it, then, yes you can.

If you mean a page that lets you play a game, that would be more challenging.

The limit is the amount of memory that the Arduino has to contain the structure of the page. All the strings that define the page (HTML, BODY, TITLE, etc. are stored in memory. Too many of them and you run out of memory.