Can zabbix be used to create host groups for a period of time adding hosts dynamically and removing hosts after period of time?
No, Zabbix itself cannot do this (to my knowledge). But you can use the API and feed it from some other config management or network discovery system.
There's also Zabbix' network discovery, which can add hosts on your local network. But I guess you're more talking about cloud networks, where you can't discover hosts on a network level, don't you?