Using Volatile doesn't Force the optimizer to use Indexes. It will influence the Optimizer in choosing Indexes in its Access Path, if suitable indexes exist. The optimizer tends to act as though the table in question has many more rows on it. However if there are no suitably defined indexes TableScans and Sorts will still occur.
You probably wouldn't want to use volatile on smaller tables, say 4000 or less records. Very often it is less expensive for DB2 to do a TableScan of small tables rather than use both index and table for access.