You can add a table where one record represents a group of assets.
You can link one asset to a group of other assets.
Assets::_fkAssetGroupID = AssetGroups::__pkAssetGroupID
When you select an asset, a script can check _fkAssetGroupID and if it is not empty, it's part of a group and the script can then use this information to select all the other members of the group at the same time.
Can I just put you on my payroll for the day? lol. All of this scripting has me seeing double. Can you be a little bit more specific? I'm officially dumb today. I created a new table called Asset Groups, but what fields does it require? Forgive me for being such a novice today.
The only field it has to have is the one I already listed:
This would be an auto-entered serial number and need not appear on any layout or report.
Or you can add a text field to name the group if you find that helpful.
I'm assuming that members of an asset group still all need individual asset tags and still need to be tracked in inventory. As I understand it, what you want is the abilty to checkout one item--say the cart and the script used to check it out contains these steps (but you'll need to fill in some of the details).
If [Assets::_fkAssetGroupID] //I'm assuming this field is of type number
#Find all assets with the same group ID
Set variable [$GroupID ; value: Assets::_fkAssetGroupID ]
Enter Find Mode  //clear the pause check box
Set Field [Assets::_fkAssetGroupID ; $GroupId ]
Perform Find 
#Check out all Assets in found set--this is all assets in same group.
#Check ou the single asset that is not part of a group here