Hi Rick,
1. You should only select JS Page Variables if you are trying to pick up a variable that already exists on the page utag.js loads on. This happens sometimes when someone doesn't have a UDO (utag_data), or there is an extra data point they didn't include in their UDO they want to grab.
If you are manipulating and setting data just within Tealium iQ, you should select "Data Object" as the data source type.
2. It really depends on your use case. There are workarounds for most situations, they're just not as clean or efficient. The importance of a good data layer can't be emphasized enough. Do you have a specific example or concern regarding this?