Well... After much research I Answered my own question. Maybe this is just so simple it is just obvious to everyone else, but I missed it until about 2am. I finally found a post on asp.net's website showing how to do this on a webform. So for all the others that can't get this like me here is some help:
I had a hard time understanding how to build the report since I could not add my xml file as a data source. What I did was added a new DataSet to my project and used it as my data source. This DataSet is not the actual DataSet I am using in code but they are identical in structure. This made designing the report easy.
After you add the Dataset to your project open up the xsd file that will be created and thne by right clicking in the Dataset Designer window navigate to Add>DataTable. This will add a blank DataTable Object to the designer window.
By right-clicking on the DataTable object you have the option of adding columns to it. Add columns to the DataTable exactly like they are in your DataSet that you have built in code. Also Make sure to rename the DataTable.
This newly created DataSet will now show up in the DataSource window and you can create your report file from it just like the video shows.
I used a report viewer and created a new report. When the report designer window opens there will be a new menu added to vs called 'Report' Clcik it and then click Data Sources. This opens up the Report Data Sources window. Make sure the Report Data Source listed matches the one you created, if not select it and delete it from the list then select your DataSet from the Project Data Sources dropdown and click 'Add to Report'
Now, tying it all together in your code is next.
After you have the Dataset in your app built and load in the data from the xml file (I won't demo that here, there are plenty of places to find out how to do it and it is very simple) I used this code to set the tie in my dataset I created in code to the report viewer.
Me.ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_Bills", Me.MyBills.Tables("Bills")))
Me.ReportViewer1.RefreshReport()
DataSet1_Bills is what is listed in the Report Data Source window as discussed above. MyBills is the DataSet I created in code and I just reference the Bills table.
Hope this helps someone else out.