Is it possible to modify the xaml for a build definition's workflow to have a custom argument that is not dependent on a custom assembly. This tutorial shows how to create a custom argument but its in an the given assembly. I have build definitions that are shared and don't want to have the baggage of an assembly.
So basically I just want a custom argument in which I can supply some options for in the xaml and then when configuring the build definition in the ui you would be pressented with a drop box of these defined options.
Is this at all possible?
If you need to add a "enum" style value to the TFS Build Parameters then you will need a Custom Assembly. The tutorial you have linked to covers the process for setting up TFS and adding a custom assembly.
Once you have this you should check in the binary for the Custom Assembly to source control. For example: $/MyProject/CustomAssemblies/
. From Team Explorer (VS2012+) you can got Builds then Actions and select "Manage Build Controllers", select your controller from there and click Properties. Here you can enter the same path you checked in your custom assembly. Now any builds done by this controller will know where to find your assembly.