Can Cellphones be used for Ad Hoc Communication?
No, they cannot.  Cell phones contain cell modems, like the green module pictured in the question.  They are controlled using "AT" commands, patterned after (but greatly extending) the AT commands developed in the original Hayes modems thirty years ago.

There is a core set of AT commands that are common across all cell modems; these generally have a prefix of "AT+".  Then there are a number of proprietary AT commands developed by each cell modem manufacturer, they have prefixes like "AT$" or "AT%" etc where the third character is unique to the manufacturer.

I have worked with cell modems from four different manufacturers.  The documentation for these commands typically runs over 500 pages long.

These are all designed to work with a cell tower. There is a command to get the signal strength (AT+CSQ), which is used to update the bars on the screen.  There are commands to check whether the cell modem has registered on the network (connected to a cell tower).  Another command to get the list of carriers supported by the cell tower.

A command to dial a call (ADT, just like the dial up modems from the past).  When a call answers, the response is CONNECT.  When an incoming call comes in, the modem says RING ... RING etc (sound familiar?).  More commands to send SMS messages, send and receive data (used for accessing the Internet), commands to access the phone book, etc.

If these were to work for point-to-point communication with another cell phone, that other cell phone would have to have all of the capability of a cell tower.  But there is no provision for that.  There are no commands in any cell modem AT set which allow a cell phone to behave that way.