Yes there are DMV's for this like
sys.dm_db_index_usage_stats, but that alone will not help in analyzing the unused databases.
Here you can analyse on unused databases with help of SQL Server Audit as explained here by Aaron Bertrand When was my database / table last accessed?
In addition you may need various other methods to track the database usage like:
1) If there are any transactions count going up for the database in question with help of counters info, using below query:
WHERE counter_name like 'Transactions/sec%'
and instance_name like 'instance_name_here%';
2) You can also ask the execution plan cache if queries have been running against the database. This query takes advantage of the
dm_exec_text_query_plan DMV as explained in the article Querying Information from the Plan Cache, Simplified
3) You can check from the login history as well on those databases using Adam Mechanic's SP_WhoIsActive
Once you have the data collected all together ,and listed databases to be taken offline execute
ALTER DATABASE [database_name] SET OFFLINE;
Monitor for a duration and if an application goes down for the reason being database of that being taken offline, you can simply take those databases back online:
ALTER DATABASE [database_name] SET ONLINE;