About Datagrid, I had posted 2 ways to load data in this thread : win UI 3 - Load DataGrid from DataTable
As WinUI 3 apps are win32 desktop apps, you can use Win32 OCX controls, like Chart controls or others, embedded in a child window, with ATL for example.
There are also some controls from GitHub, like LiveCharts2 (not tested)
For ContentDialog width, you can set ContentDialogMaxWidth like I posted in this thread,
then you can change the width at runtime (with a Grid or UserControl as Content for example)