Yes, it's possible.
You can pass arbitrary data from your Zabbix agent to the Zabbix server by using "UserParameter" fields in zabbix_server.conf, i.e. agent configuration file.
General syntax is:
UserParameter=section[id], command
For example, let's assume you want to monitor how many users are logged in. You would use:
UserParameter=sys[num_users], who | wc -l
(I assume you know how to configure the Zabbix server to receive this data, it's pretty straightforward - just create a new item, bind it to a template and connect a template to a server or server group).
If you want to monitor some file for a specific string, just use grep, sed, cut, tr and other standard Unix tools. If you need more complex things, just write a shell script.