One approach I've used to do this previously to make the columns dynamically displayed based on the current users permission is to use javascript to hide the required html and activate it based on the current users permission using the SPSecurityTrimmedControl.
You just need to modify and place the below script below the LFWP on the edit and new form pages for the list using SharePoint designer.
<script type="text/javascript" language="javascript">
var hideFields = true;
</script>
<SharePoint:SPSecurityTrimmedControl ID="fieldTrim" runat="server" PermissionMode="All" PermissionContext="CurrentList" Permissions="ManageLists">
<script type="text/javascript" language="javascript">
hideFields = false;
</script>
</SharePoint:SPSecurityTrimmedControl>
<script type="text/javascript" language="javascript">
function HideSPField(fieldTitle) {
var elems = document.forms[0].elements;
for (var ix=0; ix < elems.length; ix++) {
var elem = elems[ix];
if(elem.type != 'hidden' && elem.title == fieldTitle)
elem.parentNode.parentNode.parentNode.style.display = 'none';
}
}
if(hideFields)
{
HideSPField('Sample 1');
HideSPField('Sample 2');
}
</script>